洛谷 P3216

暴力 DP:\(f_i = (f_{i-1} \times dec(i) + i)\bmod mod\)。其中 \(dec(i)\)\(i\) 的位数(十进制)。

时间复杂度 \(O(n)\),可以获得 \(40pts\)

考虑进行矩阵乘法。

那么要有:\(f_i\times base = f_{i+1}\)

其中 \(f_i\)\(\{f_i, i, 1\}\)\(f_{i+1}\)\(\{f_{i+1}, i+1, 1\}\)

那么可以进行矩阵乘法:

\[base = \begin{pmatrix} & 10^i & 0 & 0 &\\ & 1 & 1 & 0 &\\ & 1 & 1 & 1 &\\ \end{pmatrix} \]

\(19\) 种位数分开讨论即可。

posted @ 2022-10-12 10:18  yhbqwq  阅读(5)  评论(0编辑  收藏  举报