随笔分类 -  summary

摘要:康托展开与康托展开逆运算 ll fac[20]; //阶乘 void getFac() { fac[0] = 1; for(int i=1;i<20;i++) fac[i] = 1LL * fac[i-1] * i; } ll cantor(int *a,int len) //康托展开求a是全排列第 阅读全文
posted @ 2017-11-17 01:47 HazelNuto 阅读(252) 评论(0) 推荐(0)
摘要:又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 又称单词查找树,Trie树,是 阅读全文
posted @ 2017-11-15 18:05 HazelNuto 阅读(257) 评论(0) 推荐(0)
摘要:康托展开用来求数组是该全排列的第几项,康托展开的逆运用用于求全排列的第几个排列。 已知对于1-n个数的全排列,总共的可能是n!种。对于一个已知的数列比如45321,在第一项是4时,表示第一项在此之前已经填放过1 2 3了,而后面的第二项至第五项则又是一个全排列,那么此时的排列数就是3 * 4 !;第 阅读全文
posted @ 2017-11-12 10:12 HazelNuto 阅读(240) 评论(0) 推荐(0)
摘要:二叉搜索树满足以下性质: 1.若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 2.若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 3.它的左、右子树也分别为二叉排序树。 对于一个序列任意排序形成的二叉搜索树,中序遍历的结果唯一。 二叉搜索树的名词: 1.键值:节点的数 阅读全文
posted @ 2017-05-05 00:49 HazelNuto 阅读(291) 评论(1) 推荐(1)
摘要:* 如m = 11000, 则C[m] = C[10100] + C[10110] + C[10111] + A[11000]; 则S[m] = C[11000] + C[10000]; 1.区间求和 向上更新每一个父节点,向下统计每一个子节点之和; 2.查询单点 向上更新区间(update(l,1 阅读全文
posted @ 2017-05-02 19:38 HazelNuto 阅读(280) 评论(1) 推荐(1)