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

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

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

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

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

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

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

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

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

 

转载于:https://www.cnblogs.com/MekakuCityActor/p/8538604.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值