2013 ACM-ICPC长沙赛区全国邀请赛——A So Easy!
2013-07-18 11:27
489 查看
这题在比赛的时候不知道怎么做,后来看了别人的解题报告,才知道公式sn=(a+sqrt(b))^n+(a-sqrt(b))^n;
具体推导
View Code
具体推导
#include<iostream> #include<stdio.h> #include<algorithm> #include<iomanip> #include<cmath> #include<string> using namespace std; struct ma { __int64 a[2][2]; void init() { a[0][0]=a[1][1]=1; a[0][1]=a[1][0]=0; } }; int mod; ma mul(ma a,ma b) { ma ans; int i,j,k; for(i=0;i<2;i++) for(j=0;j<2;j++) { ans.a[i][j]=0; for(k=0;k<2;k++) ans.a[i][j]=(ans.a[i][j]%mod+((a.a[i][k]%mod)*(b.a[k][j]%mod)%mod))%mod; } return ans; } ma pows(ma a,__int64 n) { ma ans; ans.init(); while(n) { if(n&1) ans=mul(ans,a); n>>=1; a=mul(a,a); } return ans; } int main() { int a,b,n; __int64 sum,q,s; while(scanf("%d%d%d%d",&a,&b,&n,&mod)!=EOF) { ma p,ans; s=2*a%mod; p.a[0][0]=s; p.a[0][1]=(b-a*a)%mod; p.a[1][0]=1; p.a[1][1]=0; q=((2*a*a)%mod+2*b%mod)%mod; ans=pows(p,n-1); sum=(((ans.a[1][0]%mod)*(q%mod))%mod+((ans.a[1][1]%mod)*(s%mod)))%mod; if(sum<0) sum=(sum+mod)%mod; printf("%I64d\n",sum); } return 0; }
View Code
相关文章推荐
- 2013 ACM-ICPC长沙赛区全国邀请赛—Special equations
- 2013 ACM-ICPC长沙赛区全国邀请赛——Travel in time
- HDU 4571 Travel in time 2013 ACM-ICPC长沙赛区全国邀请赛G题
- 2013 ACM-ICPC长沙赛区全国邀请赛——Bottles Arrangement
- hdu 4565 So Easy! /2013 ACM-ICPC 长沙赛区全国邀请赛A题 矩阵乘法
- HDU 4571 Travel in time(最短路径+DP)(2013 ACM-ICPC长沙赛区全国邀请赛)
- HDU 4573 Throw the Stones(动态三维凸包)(2013 ACM-ICPC长沙赛区全国邀请赛)
- 2013 ACM-ICPC长沙赛区全国邀请赛So Easy! && 2015 ACM/ICPC Asia Regional Shenyang Online-Best Solver
- HDU 4565 So Easy!(思想+矩阵快速幂)——2013 ACM-ICPC长沙赛区全国邀请赛
- HDU 4569 Special equations(枚举+数论)(2013 ACM-ICPC长沙赛区全国邀请赛)
- 2013 ACM/ICPC 长沙赛区湖大全国邀请赛 A题(6.1修订)
- HDU 4565 -- So Easy! 数学 && 2013 ACM-ICPC 长沙赛区全国邀请赛 A题
- HDU 4569 Special equations(思维)——2013 ACM-ICPC长沙赛区全国邀请赛
- HDU 4572 Bottles Arrangement(数学推公式)——2013 ACM-ICPC长沙赛区全国邀请赛
- HDU 4568 Hunter(最短路径+DP)(2013 ACM-ICPC长沙赛区全国邀请赛)
- HDU 4565 So Easy!(数学+矩阵快速幂)(2013 ACM-ICPC长沙赛区全国邀请赛)
- 周六训练:2013 ACM-ICPC长沙赛区全国邀请赛
- 2013 ACM-ICPC杭州赛区全国邀请赛——题目重现
- hdu 4578 Transformation 2013ACM-ICPC杭州赛区全国邀请赛
- hdu 4585 Shaolin 2013 ACM-ICPC杭州赛区全国邀请赛——题目重现