虽然还是01背包吧,但是这道题思路相对麻烦一些,所以单独用一篇博客来记录好了
题面如下
![](https://i-blog.csdnimg.cn/blog_migrate/106601d1124989dd00ad977ffb7debbc.png)
数据预处理
用ad[i][j]数组来记录附件 表示第i个物品的第j个附件
这样可以直接查找附件
用bl[i]数组来标记第i个物品是附件还是主件 附件为1
在dp的时候就可以把附件直接跳过
思路框架
因为情况复杂所以选用倒序循环一维的01背包模板
接下来讨论每个主件中有哪些选择 分类列出状态转移方程
截图来自题解【懒得打出来了emmm
代码
That's all.
我感觉其实01背包问题大体上来讲都是一样的,就只要变一下状态转移方程(转移方法和分类)就好了
写完正文开始扯一会犊子
本来今天特别特别累,可能是到周四要扛不住了吧噗
还好还是坚持下来了
其实这样能够努力的日子不会有很多了
感觉做题的手感和思路已经比前两天清晰很多了
相信一切都会越来越好的
今日毒鸡汤来了
走了那么远,我们去寻找一盏灯。——顾城
晚安,努力的自己
晚安,幸福的自己