摘要: 刚开始不知道怎么做,看了大神的做法后,才知道要用到欧拉函数……#include<iostream>using namespace std;const int N=1000010;__int64 euler[N];void get_euler(){ int i,j; for(i=1;i<N;i++) euler[i]=i; for(i=2;i<N;i++) if(euler[i]==i) for(j=i;j<N;j+=i) euler[j]-=euler[j]/i;}void Init(){ get_euler(); for(int i=2;i<N;i++) 阅读全文
posted @ 2013-05-21 17:15 _随心所欲_ 阅读(158) 评论(0) 推荐(0)
摘要: 水题不解释……#include<iostream>using namespace std;int fun(int a){ int s,n,m=abs(a); s=m%10;m=m/10; while(m) { n=m%10; m=m/10; s=s*10+n; } if(a<0) return -s; return s;}int main(){ int t,i,j,x,y,a,b; scanf("%d",&t); while(t--) { scanf("%d%d",&x,&y); a=(x+y)/2;b=(x-y 阅读全文
posted @ 2013-05-21 14:56 _随心所欲_ 阅读(157) 评论(2) 推荐(0)
摘要: 刚开始,一直LE,后来优化了下Accepted29713265MS232K1105 BC++#include<iostream>using namespace std;typedef __int64 int64;int64 x,y,a2,n,mod;struct matrix{ int64 a[4][4];}e,p;matrix mul(matrix m,matrix n){ matrix ans; for(int i=0;i<4;i++) for(int j=0;j<4;j++) { ans.a[i][j]=0; for(int k=0;k<4;k++) { i 阅读全文
posted @ 2013-05-21 09:35 _随心所欲_ 阅读(162) 评论(0) 推荐(0)