总结
文章平均质量分 64
C_Ychen
这个作者很懒,什么都没留下…
展开
-
总结---最大公共子序列
#include #include #include using namespace std; int F[1001][1001]; int max(int a,int b) { return a>b?a:b; } int main() { string x,y; int i,j; int l1,l2; while(cin>>x>>y) { l1=x.size(); l2=y.原创 2013-03-28 23:42:43 · 824 阅读 · 0 评论 -
总结--快速幂
快速幂取余的思想是: 当 b为偶数时 (a^b mod m)=(a^(b/2) mod m)*(a^(b/2) mod m); 当b为奇数时 a^b=a^(b/2)*a^(b/2)*a^1; (a^b mod m)=(a^b mod m)=(a^(b/2) mod m)*(a^(b/2) mod m)*(a mod m); 这种求幂的时间复杂度是O(log2n); 以下为实原创 2013-03-22 23:31:43 · 736 阅读 · 0 评论 -
总结--素数(1)
素数筛选与判断有多种方法 以下是筛选与判断的结合; 实现这种结合主要是解决筛选法空间的不足,筛选法需要大数组保存数字的判断结果,而将筛选法与判断结合将极大地加快判断素数,这样就可以很大程度地摆脱了数组空间不足的问题而实现对素数的判断 以下是实现代码: #include #include #define max 1000000 using namespace std; bool exam原创 2013-03-23 00:15:04 · 932 阅读 · 0 评论 -
总结--卡特兰大数
卡特兰大数有两种递推公式: 1、h[i]=h[i-1]*(4*i-2)/(i+1); 2、h[i]=h[0]*h[i-1]+h[1]*h[i-2]+...+h[i-1]*h[0](下标和恒等于i-1); 递推关系的解为:h(n)=C(2n,n)/(n+1) (n=0,1,2,...) 特别地:h[0]=1;h[1]=1; 以下为求卡特兰数的实现代码: #include #inclu原创 2013-03-22 23:03:03 · 904 阅读 · 0 评论 -
总结---最大上升子序列(O(n²)解法)
最大上升子序列问题是指一序列求其子递增序列的最大长度 解决此问题的思想是动态规划,用数组记录下以每个数字为子序列尾情况的上升序列数,再找出最大值即可。 #include #include using namespace std; int main() { int list[1000],n; int dp[1000],i,j,max; while(cin>>n) { max=0;原创 2013-03-23 20:52:34 · 1021 阅读 · 0 评论