/ Vijos / 题库 /

递推的矩阵优化

递推的矩阵优化

时间限制:1秒  内存限制:256M


【问题描述】

  \(Fibonacci\) 数列:\(f(n)=f(n-2)+f(n-1)\),就是一个 2 阶常系数线性递推关系,由此我们得出 \(k\) 阶常系数线性递推关系的一般形式:\(f(n)=\sum_{i=1}^{k}a_i*f(n-i)\),其中 \(n>k\) 且 \(a_1,a_2,…,a_k\) 是常数。

  你的任务是对于给定的 \(k\) 阶线性递推式,求出它的第 \(n\) 项时多少?

【输入格式】

  输入包含多组数据:
  每组数据第一行为三个整数 \(k,n,m\)。
  第二行为 \(k\) 个非负整数 \(a_1,a_2,…,a_k\)。
  第三行为 \(k\) 个非负整数 \(f(1),f(2),…,f(k)\)。
  输入结束标志为 \(k=m=n=0\)。

【输出格式】

  对于每组数据,输出 \(f(n)\ mod\ m\) 的值。

【输入输出样例】

 Input

1 1 100
2
1
2 10 100
1 1
1 1
3 2147483647 12345
12345678 0 12345
1 2 3
0 0 0

 Output

1
55
423

【数据限制】

  \(100\%\) 的数据,满足 \(1≤k≤15\),\(1≤n≤10^9\),\(1≤m≤46340\),\(0≤a_i,f(i)≤2*10^9\)

【来源】

  Mr.he

信息

ID
2702
难度
9
分类
线性代数 | 矩阵乘法快速幂分治 点击显示
标签
(无)
递交数
2
已通过
1
通过率
50%
被复制
3
上传者