题目:
http://acm.xidian.edu.cn/problem.php?id=1180
一看就感觉是矩阵快速幂的题,可是状态设计的太复杂不好转移,就崩了
DP[I][J][K]表示考虑前i个珠子,最后一个的颜色是j,有k个,所能达成的方案数
k = 1时 dp[i][j][k] = dp[i - 1][p][q] p!=j 1 <= q <= K;
k != 1时 dp[i][j][k] = dp[i - 1][j][k - 1]
不好构造转移矩阵啊
后来发现,dp[i][j][k] 对于一个i,k,不同的j,值是一样的(对称性)
所以可以变成dp[i][k] 然后就方便构造转移矩阵做了
可是我tm还是wa了哈哈
就是优化递推关系之后用矩阵来进行状态的转移……就好了
矩阵还可以用与递推形式的
我这种是一行一行的,用矩阵转移