随笔分类 - 模板
摘要:唯一分解定理 任何大于1的自然数,都可以唯一分解成有限个质数的乘积 对于数a a=p1^e1*p2^e2*......pk^ek,pi为素数且p1<p2<...<pk a的总因子个数为(e1+1)*(e2+1)*(e3+1).....(ek+1)
阅读全文
摘要:第二类斯特林数是将n个不同的球放入m个无差别的盒子中, 并且要求盒子非空的方案数。 1.通项公式为: 2.递推公式: 证明如下: 假设要把n+1个球放入m个盒子里则分析如下: (1)如果n个球放入了m-1个盒子,那么第n+1个球单独放入一个盒子。方案数 。 (2)如果n个球已经放入了m个盒子,将第n
阅读全文
摘要:逆元是求ax≡1(mod p)中的x的最小正整数,常应用于 除法取模。 存在这样的x的条件是a与p互素,即只有当a与p互素时,逆元存在 求逆元有三种常用的方式 扩展欧几里德(要求a与p互素) 费马小定理(要求p为素数,且a与p互素) 线性时间求逆元(要求p为素数,常用于a较小且需要求出大量逆元的时候
阅读全文
摘要:扩展欧几里德算法 用来在已知a,b求解一组x,y使得a*x+b*y=gcd(a,b)(解一定存在,根据数论中的相关定理) 扩展欧几里德常用在求解模线性方程及方程组中 模板: 若(x0,y0)是不定整数方程ax+by = c的一组解,则他的任意整数解都可以表示成(x0+ kb’, y0-ka’),其中
阅读全文
摘要:摘自 https://www.cnblogs.com/Duahanlang/archive/2013/05/11/3073434.html
阅读全文
摘要:- -谢谢kuangbin大佬的模板,引用一下,方便自己查阅 放一个方便理解Manacher的资料:http://www.felix021.com/blog/read.php?2040 Manacher模板 (HDU3068)
阅读全文
摘要:引用自 kuangbin大神的博客 http://www.cnblogs.com/kuangbin/p/3164106.html 写了一点自己理解的注释 方便自己查看 HDU(2222)
阅读全文
摘要:大佬关于母函数的介绍 http://www.cnblogs.com/hsqdboke/archive/2012/04/17/2453677.html http://www.cnblogs.com/magicsoar/p/4129414.html 贴一下模板,按自己的习惯改了一点. 母函数模板(HDU
阅读全文
摘要:附一个比较详细的讲解 http://www.cnblogs.com/tanky_woo/archive/2010/09/24/1833717.html 模板题(HDU 1671)
阅读全文
摘要:优先队列:优先队列不同于一般队列的是,队列中的元素按照某项特征值的大小进行排列. 优先队列的操作命令也与队列不同,队头元素为Q.top(). 讲解详细的博客:http://www.cnblogs.com/heqinghui/archive/2013/07/30/3225407.html 一般的优先队
阅读全文
摘要:附上一个详细的大佬的讲解 http://blog.csdn.net/niushuai666/article/details/6624672 RMQ模板(NYOJ 119)
阅读全文
摘要:感谢 kuangbin大神 http://www.cnblogs.com/kuangbin/archive/2012/08/14/2638803.html 转一下模板 方便自己查阅 该算法时间复杂度是O(m+n), 得到Next数组的过程是O(n) /*pku3461(Oulipo), hdu171
阅读全文
摘要:#include #include #include using namespace std; int a[50]; int dp[50][50]; int dfs(int num, ,bool limit) //位数,传递条件 ,上界判断 { if(num==-1)return 0; //最后一位时,根据情况返回1或0 if(!limit && dp[num...
阅读全文
摘要:组合数取模就是求C(n,m)%MOD的值 当m<=1000,n<=1000时,根据 C[i][j]=(C[i-1][j]+C[i-1][j-1])的性质,可以通过递推预处理出所有的组合数 利用阶乘进行的线性求组合数 对于大范围的组合数 引用自http://blog.csdn.net/acdreame
阅读全文
摘要:单点更新(HDU1166) 区间更新(HDU1698)
阅读全文
摘要://查询和修改都是log(n)//从c[1]开始进行赋值,不赋c[0],n为数的个数 //sum(x)为计算前x个数的和 #include #include #include using namespace std; const int MAXN=50010; int c[MAXN]; int n; int lowbit(int x) { return x&(-x); } vo...
阅读全文
摘要:后缀数组 大佬的讲解 http://blog.csdn.net/qq_35640373/article/details/70168683 http://blog.csdn.net/yxuanwkeith/article/details/50636898 后缀数组 DA(倍增)算法求 SA[N] 与
阅读全文