状压dp终极篇(状态转移的思想)

Posted MekakuCityActor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了状压dp终极篇(状态转移的思想)相关的知识,希望对你有一定的参考价值。

状压dp是将每种状态都压缩成用一个二进制串,然后利用位运算进行操作的dp,而凡是dp都需要进行状态转移

对于简单的dp问题只需要一个二维数组dp[ i ][ j ]就能解决

具体操作为首先把状态压缩为二进制串,

然后对第一行进行初始化,

再利用三个for循环进行状态转移(第一层for循环控制行的前进,第二个和第三个for循环控制本行和上一行的状态)

利用状态转移对二维数组进行不断的更新(可以想到其实就是在不断更新填写一个二维表)

而复杂一点的dp问题就需要一个三维数组dp[ i ][ k ][ j ]才能解决

具体操作和二维的一样,只是需要四个循环(多了一个循环遍历更新k了,也就是可以认为是在更新一个三维的表)

 

以上是关于状压dp终极篇(状态转移的思想)的主要内容,如果未能解决你的问题,请参考以下文章

UVA - 1412 状压dp九进制表示状态

关灯问题II 状压DP

玉米田 状压dp

11.8校内测试倒计时2天状压DP随机化?/暴力小模拟

Luogu2435 染色状压qwq轮廓线DP

[ An Ac a Day ^_^ ] POJ 3254 Corn Fields 状压dp