解题报告之格雷码
格雷码(Gray Code)是指在一组数的编码中,任意两个相邻的代码只有一位二进制数不同,则称这种代码为格雷码。另外由于最大数和最小数之间也仅有一位数不同,即“首尾相连”,因此又称为循环码或反射码。这篇博文主要介绍怎样用递归的方式构造格雷码以及格雷码与 8421 码之间的转换。
[阅读全文]Coder
格雷码(Gray Code)是指在一组数的编码中,任意两个相邻的代码只有一位二进制数不同,则称这种代码为格雷码。另外由于最大数和最小数之间也仅有一位数不同,即“首尾相连”,因此又称为循环码或反射码。这篇博文主要介绍怎样用递归的方式构造格雷码以及格雷码与 8421 码之间的转换。
[阅读全文]Trie 树是一种用于快速检索的多叉树结构,经常用于统计和排序大量的字符串(但又不限于字符串),所以经常被搜索引擎系统用于文本词频统计。本文首先介绍 Trie 树的定义、原理及具体实现,然后结合 hihocoder 上的题目做一些具体实践。
[阅读全文]本题的解法是在 基本算法之约数个数原理 的基础上对问题进行优化,从而大大降低算法的时间复杂度。而解题的思路是从结果去想它满足什么样的条件,从而获得优化问题的方法。
[阅读全文]在数论里面除了老生常谈的素数问题,还有一个就是约数个数问题。对于这个问题的解法可能还停留在用n除以 $1,\cdots,\sqrt n$,然后统计能够整除的个数。其时间复杂度为 $O(\sqrt n)$。本文主要介绍约数个数定理以及它在实际题目中的应用。
[阅读全文]