摘要: #include#includeusing namespace std;struct node{ int v[2][2];};node mult(node ma,node mb){ int i,j,k; node ans; for(i=0;i>1; a=mult(a,a); } printf("%d\n",b.v[1][0]); } return 0;} 阅读全文
posted @ 2013-07-05 20:15 Teemo的技术blog 阅读(71) 评论(0) 推荐(0) 编辑
摘要: A为一个n*n的矩阵,求A+A^2+A^3+...+A^nSk=A+A2+A3+ … +Ak =(1+Ak/2)*(A+A2+A3+ … +Ak/2 )+{Ak} =(1+Ak/2)*(Sk/2)+{Ak}// k为偶数时无 {Ak}Ak 可用二分迭代求出因此,只要求出 上面的三部分就可以求出Sk设f(n)=A+A^2+A^3+...+A^nn%2==1时,f(n)=f(n-1)+A^nn%2==0时,f(n)=f(n/2)+f(n/2)*A^(n/2)由于矩阵乘法满足结合律,计算A^n时,也可以二分#include#includeusing namespace std;int n,m;s.. 阅读全文
posted @ 2013-07-05 19:48 Teemo的技术blog 阅读(72) 评论(0) 推荐(0) 编辑