Loading web-font TeX/Math/Italic

重修dp-背包

洛谷 P1757 通天之分组背包 - 分组背包,最多只能选一个

就算分组背包模板,用vector把每个种类相同的存一起就行了

HDU 1712 ACboy needs your help - 分组背包,最多只能选一个

对于每一个course,只能选择一个使用日期。那么就把course进行分组,运用分组背包求最大值即可

HDU 4341 Gold miner - 分组背包,最多只能选择一个

把共线的设置为一组,然后按照gold的距离把权值加入,比如为想获取第一个金矿的权值就算第一个金矿,假如为算第二个金矿的话权值就要算上第一和第二两块的权值,第三块的话就要把第1,2快权值加上,那么对于每一组,最多选择一块。
变成了一个分组背包模型。

传送门 cf148 E. Porcelain

有n组物品,每组物品取值的规则是,只能从两边往里面取物品。求取m个物品的最大指。
对于每一组背包,求下前缀和和后缀和,即O(n2)去遍历可以取的所有情况,但是这时会有n^2个物品,进行贪心,因为物品个数在[1,100],那么对于个数相同的选择,取最大价值。那么对于每一组的选择,物品最多只有100个了。
然后对于每一组进行分组背包。求最多取一个物品时的最大值。
dp[k][j]表示取到第k组时背包大小为j时的最大值。
代码

hdu3535 AreYouBusy - 分组混合背包

  • 这组最多能选一个物品
  • 这组至少选一个物品
  • 这组选择任意多的物品
posted @   Emcikem  阅读(40)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示