题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1087
状压dp经典题
f[i][j][k]保存第i行(包括第i行)之前放了j个国王,当前行用二进制表示后对应十进制数为k的方案数。count[k]表示k所对应的二进制中1的个数。
状态转移方程比较显然:f[i][j][k]=sum{f[i-1][j-count[k]][p]};
其中k满足 (k&(k<<1))==0
其中p满足 (p&(p<<1))==0&&((p<<1)&k)==0&&(p&k)==0&&((p>>1)&k)==0
引用自sunshinezff
1 |
|