摘要: 矩阵快速幂的水题#include<iostream>#include<stdio.h>#include<cmath>#include<iomanip>using namespace std;struct aa{ int a[11][11];};int mod;aa f(aa m,aa n){ aa ans; for(int i=0;i<10;i++) for(int j=0;j<10;j++) { ans.a[i][j]=0; for(int k=0;k<10;k++) ans.a[i][j]+=m.a[i][k]*n.a[k] 阅读全文
posted @ 2013-05-19 14:44 _随心所欲_ 阅读(138) 评论(0) 推荐(0)
摘要: 这个也是矩阵2分快速幂但是重点是找出规律来就好做了即:f(n)=f(n-1)+f(n-3)+f(n-4)#include<iostream>#include<stdio.h>#include<cmath>using namespace std;struct aa{ int a[4][4]; void init() { a[0][0]=a[0][2]=a[0][3]=a[1][0]=a[2][1]=a[3][2]=1; a[0][1]=a[1][1]=a[1][2]=a[1][3]=a[2][0]=a[2][2]=a[2][3]=a[3][0]=a[3][1] 阅读全文
posted @ 2013-05-19 13:51 _随心所欲_ 阅读(199) 评论(0) 推荐(0)
摘要: 这个主要是矩阵2分快速幂#include#include#includeusing namespace std;struct aa{ int a[11][11];};aa f(aa m,aa n,int nn){ aa ans; for(int i=0;i>=1; m=f(m,m,n); } sum=0; for(i=0;i<n;i++) sum+=ans.a[i][i]; return sum%9973;}int main(){ long m; int t,n,i,j; scanf("%d",&t); while(t--) { aa p; scanf( 阅读全文
posted @ 2013-05-19 12:51 _随心所欲_ 阅读(158) 评论(0) 推荐(0)
摘要: 刚学习矩阵快速幂对于这题求后4位是使用矩阵快速幂进行;而对于前4位,用到公式求得,具体看代码:#include#include#includeusing namespace std;long a[2][2]={{1,1},{1,0}},b[2]={0,0};struct aa{ long a[2][2]; void init() { a[0][0]=a[0][1]=a[1][0]=1; a[1][1]=0; }};aa f(aa m,aa n,long mod){ aa ans; for(int i=0;i>=1; m=f(m,m,mod); } return ans;}int main 阅读全文
posted @ 2013-05-19 11:24 _随心所欲_ 阅读(186) 评论(0) 推荐(0)
摘要: 这题是很水的题……#include <iostream>#include <stdio.h>using namespace std;int fun(int m,int n){ int a; if(m<n) { a=m; m=n; n=a; } while(m%n!=0) { a=m%n; m=n; n=a; } return n;}int main(){ int x,y,z,t,i,j,m,d,flag,k; int mm[13]; scanf("%d",&t); for(k=1;k<=t;k++) { mm[1]=mm[3]=m 阅读全文
posted @ 2013-05-19 09:13 _随心所欲_ 阅读(562) 评论(2) 推荐(0)