区间dp+矩阵快速幂 ABC 256 G - Black and White Stones
ABC 256 G - Black and White Stones
题目:
https://atcoder.jp/contests/abc256/tasks/abc256_g
题解:
https://atcoder.jp/contests/abc256/editorial/4142
思路:
求一个大区间0-N的选择方法数,可以进行递归,求出N/2的方法数再相乘。
直接求耗时较高,可以考虑使用2*2矩阵存储中间状态,并用矩阵幂运算求解,可以用快速幂优化。
此优化方法的原理是,存在4种中间状态,且转移时会互相计算,故所有状态必须全部保留,不能仅存储一个中间状态进行递归。
同时状态转移与矩阵乘法对应(矩阵乘法中的前一个数的列数(尾颜色)和后一个数的行数(首颜色)相同,故首尾可以相接)