http://acm.fzu.edu.cn/problem.php?pid=1911
对于本题需要:
1。求出(f[1]+f[2]+...+f[n])%m的值(2<=n<1000,000,000, f[i]表示Fib数列的第i项)
f[1]+f[2]+...+f[n] = f[n+2]-1
即求(f[n+2]-1)%m的值
这个矩阵幂摸法求即可.
2。构造一个矩阵, 使得各行和各列的值不同.
参考福大AC大神的YY之法, 即:
矩阵的上三角全为"1"
矩阵的下三角全为"-1"
对角线"1","0"交替.
如n = 4,对应矩阵为:
1 1 1 1
1 1 0 -1
1 1 -1 -1
0 -1 -1 -1