[bzoj1002]: [FJOI2007]轮状病毒(矩阵树定理)

来源:互联网 发布:刚开淘宝怎么刷信誉 编辑:程序博客网 时间:2024/05/21 19:22

传送门
此题好像本来要用矩阵树定理(matrix-tree),可是好像可以推式子,推出来就是:

f(n)=3f(n1)f(n2)+2
f(1)=1,f(2)=5

然后套板子就过了.
代码:

/**************************************************************    Problem: 1002    User: stone41123    Language: C++    Result: Accepted    Time:8 ms    Memory:1396 kb****************************************************************/#include<string>#include<iostream>#include<iosfwd>#include<cmath>#include<cstring>#include<stdlib.h>#include<stdio.h>#include<cstring>#define MAX_L 255 //????,????using namespace std;/*板子省略*/bign f[101];int main(){    f[1]=1;    f[2]=5;    int n;    scanf("%d",&n);    for(int i=3;i<=n;i++){        f[i]=f[i-1]*3-f[i-2]+2;    }    cout<<f[n];    return 0;}
原创粉丝点击