- 博客(8)
- 资源 (3)
- 收藏
- 关注
原创 字典树原理
Trie树就是字典树,又称单词查找树,是一种树形结构,是一种哈希树的变种。其核心思想就是空间换取时间。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。 举个简单的例子。给你100000个长度不超过10的单词。对于每一个单
2012-10-19 12:34:24 1938
原创 PollardRho大整数分解
模版:#include #include #include #include #include const int Times = 10;const int N = 5500;using namespace std;typedef long long LL;LL ct, cnt;LL fac[N], num[N];LL gcd(LL
2012-10-10 10:23:00 7090
原创 中国剩余定理
题目:跳蚤(PKU1091) #include #define N 64int bo[N],t;int a[N],m,n;long long ans,temp;void divide(int m){ t=0; for(int i=2;i*i<=m;i++) { if(m%i==0) {
2012-10-08 21:20:58 32773 8
原创 二维树状数组
题目:Counting Black #include #include #define MAXN 200int flag[MAXN][MAXN];int c[MAXN][MAXN];int lowbit(int i){ return i&(-i);}void update(int x,int y,int color){ if(
2012-10-08 14:28:27 1335
原创 数学与算法的艺术
为了更好体现数学在计算机算法中的重要作用,我来介绍一些数学知识以及它们的应用。这将是一次很长的知识旅行。 Contens 1. 秦九韶算法 9. 最小二乘法 2. 斯特林公式 10. 自守数 3. 外观数列 4. 整数拆分问题 5. 阿贝尔变换 6. 二项式反演 7. 马青公式 8. 艾森斯坦判别法 1. 秦九韶算法 秦九韶算法是中国南宋时期数学家秦九韶
2012-10-05 14:57:34 5330
原创 组合数取模
Lucas定理:m,n是非负整数,p是质数。m,n分别写成p进制:则组合数C(n,m)与C(n[k],m[k])*C(n[k-1],m[k-1])*...*C(n[0],m[0]) mod p同余 除了这个Lucas定理以外,还要用到快速幂和另外一个不知名定理:若p为质数,则(a/b)(mod p) = a * b^(p-2) (mod p)。如果p不为质数就不能这样求。a
2012-10-03 12:41:30 33691 11
原创 简单算法题
贪心法思想:你追一个MM的时候,从相识到相知,每次都采用最aggressive的方式,进攻进攻再进攻!从不采用迂回战术或是欲擒故纵之法!目标是以最快的速度确立两人关系。该法优点是代价小,速度快,但缺点是不是每次都能得到最优解。。。 顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心
2012-10-02 17:51:03 1817
原创 二次筛法
题目:素数距离 分析:本题数据区间的上界达到21亿,不能将所有小于21亿的素数存下来,只能针对本题的假设:区间长度小于1000000,把给定区间[ L,U ]的所有素数通过筛法找出来,使用筛法筛掉[L,U]区间的所有非素数,需要知道[L,U]区间的所有非素数的素数因子(因为一个非素数是被它的最小素数因子筛掉),2147483647内的数或者是素数,或者能被sqrt(214748
2012-10-02 13:47:17 4801
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人