- 16
- 0
- 约9.39千字
- 约 6页
- 2022-05-13 发布于上海
- 举报
《金明的预算方案》的三种不同解法
湖北省襄樊市第五中学 杨兵
《金明的预算方案》是NOIP2006 提高组的第二题。对于这道题,在此提供两种不同的
解法与大家共同探讨。
一、转化为01 背包问题
考虑到每个主件最多只有两个附件,因此我们可以通过转化,把原问题转化为01 背包问
题来解决,在用01 背包之前我们需要对输入数据进行处理,把每一种物品归类,即:把每一
个主件和它的附件看作一类物品。处理好之后,我们就可以使用01 背包算法了。在取某件物
品时,我们只需要从以下四种方案中取最大的那种方案:只取主件、取主件+附件 1、取主
件+附件2、既主件+附件1+附件2 。很容易得到如下状态转移方程:
f[i,j]=max{f[i-1,j],
f[i-1,j-a[i,0]]+a[i,0]*b[i,0],
f[i-1,j-a[i,0]-a[i,1]]+a[i,0]*b[i,0]+a[i,1]*b[i,1],
f[i-1,j-a[i,0]-a[i,2]]+a[i,0]*b[i,0]+a[i,2]*b[i
原创力文档

文档评论(0)