P4118
矩阵 #矩阵优化dp #dp #循环矩阵
考虑暴力 \(dp_{i,j}\) 表示第 \(i\) 次操作后停在 \(j\) 的方案数
注意到数据范围为 \(10^{18}\) ,考虑矩阵优化转移
对于每 \(n\) 轮,转移方案是一样的,对应的矩阵也是一样的,时间复杂度是 \(\mathcal{O}(n^3logm)\),不能通过
观察这个矩阵,发现是循环的,即第 \(i+1\) 行为第 \(i\) 行左移得到的,用第一行即可表示每一行的状态,所以可以把每次乘法的复杂度降到 \(\mathcal{O}(n^2)\)
最后时间复杂度是 \(O(n^2logm)\)