AT_abc219_d [ABC219D] Strange Lunchbox 的题解
洛谷传送门
AT传送门
思路
第一眼看出是一道动态规划,只不过限制状态有两层。
d p i , j , k \mathit{dp}_{i,j,k} dpi,j,k 表示前 i i i 个物品第一个约束条件取 j j j 个第二个约束条件取 k k k 个的最小方案。
然后可以仿照背包问题将 i i i 那一维给删掉,其实删不删空间都够。
注意这里是至少,因此转移方程为 d p i , j = min ( d p i , j , d p max ( 0 , j − a i . x ) , max ( 0 , k − a i . y ) + 1 ) \mathit{dp}_{i,j}=\min(\mathit{dp}_{i,j},\mathit{dp}_{\max(0,j-a_{i}.x),\max(0,k-a_{i}.y)}+1) dpi,j=min(dpi,j

这是一篇关于解决StrangeLunchbox问题的技术文章,作者使用动态规划的方法,通过状态dp[i][j][k]表示前i个物品中第一个约束选取j个,第二个约束选取k个的最小方案。文章详细解释了状态转移方程并提供了C++代码实现。
最低0.47元/天 解锁文章
1856





