bzoj1002: [FJOI2007]轮状病毒
2017-09-24 16:19
513 查看
题目传送门
神题。
听说要用基尔霍夫矩阵了。
然而我并不知道那是什么东西。
看了看。膜了一发神牛。
真的强
然后上高精度。。
代码实现:
以后我要学!太神了。
应该是最小生成树计数吧。
神题。
听说要用基尔霍夫矩阵了。
然而我并不知道那是什么东西。
看了看。膜了一发神牛。
真的强
然后上高精度。。
代码实现:
#include<cstdio> #include<cstring> #include<iostream> #include<cstdlib> #include<algorithm> using namespace std; struct node { int len,a[11000]; node() { len=0; memset(a,0,sizeof(a)); } }; node chengfa(node n1,int x) { node no; no.len=n1.len; for(int i=1;i<=no.len;i++) no.a[i]=n1.a[i]*x; for(int i=1;i<=no.len;i++) { no.a[i+1]+=no.a[i]/10; no.a[i]%=10; } int i=no.len; while(no.a[i+1]>0) { i++; no.a[i+1]+=no.a[i]/10; no.a[i]%=10; } no.len=i; return no; } node jianfa(node n1,node n2) { node no; no.len=max(n1.len,n2.len); for(int i=1;i<=no.len;i++) no.a[i]=n1.a[i]-n2.a[i]; for(int i=1;i<=no.len;i++) if(no.a[i]<0) { no.a[i]+=10; no.a[i+1]--; } int i=no.len; while(i>1&&no.a[i]==0) i--; no.len=i; return no; } node jiafa(node n1,int x) { node no=n1; no.a[1]+=x; for(int i=1;i<=no.len;i++) { no.a[i+1]+=no.a[i]/10; no.a[i]%=10; } int i=no.len; while(no.a[i+1]>0) { i++; no.a[i+1]+=no.a[i]/10; no.a[i]%=10; } no.len=i; return no; } int main() { int n;scanf("%d",&n); node s1,s2,s3; s1.len=1;s1.a[1]=1; s2.len=1;s2.a[1]=5; for(int i=3;i<=n;i++) { s3=chengfa(s2,3); s3=jianfa(s3,s1); s3=jiafa(s3,2); s1=s2;s2=s3; } for(int i=s3.len;i>=1;i--) printf("%d",s3.a[i]); printf("\n"); return 0; }
以后我要学!太神了。
应该是最小生成树计数吧。
相关文章推荐
- BZOJ1002 [FJOI2007]轮状病毒
- [bzoj1002]: [FJOI2007]轮状病毒(矩阵树定理)
- 【FJOI2007】bzoj1002 轮状病毒
- [BZOJ1002][FJOI2007]轮状病毒(打表找规律+高精度||结论)
- [bzoj1002][FJOI2007 轮状病毒] (生成树计数+递推+高精度)
- BZOJ1002: [FJOI2007]轮状病毒
- bzoj 1002: [FJOI2007]轮状病毒(生成树计数,高精度)
- BZOJ 1002: [FJOI2007]轮状病毒
- BZOJ1002 [FJOI2007]轮状病毒
- bzoj1002 [FJOI2007]轮状病毒(矩阵树定理+递推+高精度)
- 【FJOI2007】【BZOJ1002】轮状病毒
- [BZOJ1002] [FJOI2007] 轮状病毒
- AC日记——[FJOI2007]轮状病毒 bzoj 1002
- BZOJ 1002 FJOI 2007 轮状病毒 暴力+找规律+高精度
- 【bzoj1002】【FJOI2007】【轮状病毒】
- bzoj1002[FJOI2007]轮状病毒
- bzoj 1002 [FJOI2007]轮状病毒
- [bzoj1002][FJOI2007]轮状病毒_递推_高精度
- bzoj 1002: [FJOI2007]轮状病毒
- bzoj1002 [FJOI2007]轮状病毒