P15220 [SWERC 2017] Macarons题解
My blog。
首先,因为本题的
考虑目前有一个
定义
我们尝试进行暴力转移:
for(int i=0;i<(1<<n);i++)
for(int j=0;j<(1<<n);j++)
for(int k=0;k<(1<<n);k++)
dp[x+y][i][j]+=dp[x][i][k]*dp[y][j][k];
写出暴力转移方程后,我们惊奇的发现这与矩阵乘法的转移相似,遂可以用矩阵快速幂优化。
感觉这才是想出使用矩阵优化的思维路径。
时间复杂度