[bzoj1002] [FJOI2007]轮状病毒轮状病毒(基尔霍夫矩阵)

Solution

用基尔霍夫矩阵推一推,可以发现公式: f[i] = f[i-1] * 3 - f[i-2] * 2。
然后写个高精度就好了, 或者用Python水一水。

Code

n=(int)(input())
a=5
b=1
if n<=2:
    if n==1:
        print(b)
    else:
        print(a)
else:
    for i in range(3,n+1,1):
        c=3*a-b+2
        b=a
        a=c
    print(c)
posted @ 2017-01-14 17:16  ZegWe  阅读(259)  评论(0编辑  收藏  举报