2015年5月19日

快速幂和矩阵快速幂-模板

摘要: 快速幂的思想就是减少相乘的次数,将原本n-1次的相乘减小到(lg(n))的复杂度;a^b=(a^2)^(b/2)这个式子由于/是整除,所以得分奇偶的不同情况,偶数时仍然成立,奇数时需要再乘上一个a;所以快速幂就是将原本的以a为基本单位的连乘改成以a*a为单位的连乘;代码: 1 #include 2 ... 阅读全文

posted @ 2015-05-19 20:36 bai_yan 阅读(365) 评论(0) 推荐(0) 编辑

gcd-模板+最小公倍数

摘要: 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 using namespace std; 5 int GCD(int a,int b) 6 { 7 for(;a>0&&b>0;a>b?a%=b:b%=a); 8 retu 阅读全文

posted @ 2015-05-19 15:20 bai_yan 阅读(144) 评论(0) 推荐(0) 编辑

manacher-模板-hd-3068

摘要: 1 /* 2 题意:给一个字符串,求该串的最长回文串的长度; 3 算法:Manacher 4 O(n)复杂度,求以每一个字符为中心的最长汇文串的长度; 5 这个算法把奇数和偶数的情况和在一起来考虑了; 6 */ 7 #include 8 #include 9 #include10... 阅读全文

posted @ 2015-05-19 15:19 bai_yan 阅读(116) 评论(0) 推荐(0) 编辑

kmp-模板-hd-1711

摘要: p数组记录的是当该位置上失配的时候,跳到第几个进行继续匹配; 1 /* 2 题意:给两个数串,求模板串第一此出现在源串中的位置,开头的位置;没有输出-1; 3 算法:kmp 4 先对字符串进行自匹配; 5 然后串间匹配; 6 */ 7 #include 8 #include... 阅读全文

posted @ 2015-05-19 15:17 bai_yan 阅读(160) 评论(0) 推荐(0) 编辑

导航