摘要:
背包DP是线性DP中一种特殊的DP。 01背包 最基础的背包,有 \(n\) 件物品,背包容量为 \(V\),每件物品只有一件。可以使用空间优化,一般是原地滚动,此时注意容量需要从后往前更新,否则会一个状态更新多次。时间复杂度为 \(O(nV)\)。 核心代码 void solve() { int 阅读全文
posted @ 2024-08-01 18:58
catting123
阅读(108)
评论(0)
推荐(0)
摘要:
状压DP(Bit mask DP)将状态压缩为二进制表示,用于处理状态复杂的问题。主要分为一维和二维两种类型。 一维状压DP 最经典的是求最短哈密顿路径,对应 \(n\) 个结点的带权无向图,暴力枚举所有情况的时间复杂度为 \(O(n)\),但是我们思考一下,到达某个顶点时,需要记录在这之前已经走过 阅读全文
posted @ 2024-08-01 18:20
catting123
阅读(52)
评论(0)
推荐(0)