• 重修dp-背包


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

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

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

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

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

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

    传送门 cf148 E. Porcelain

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

    hdu3535 AreYouBusy - 分组混合背包

    • 这组最多能选一个物品
    • 这组至少选一个物品
    • 这组选择任意多的物品
    I‘m Stein, welcome to my blog
  • 相关阅读:
    set.end()和lower_bound使用记录
    自学图论的码队弟弟(dfs)
    打字训练
    (回归2.0)A
    斐波那契串 新疆省赛
    异或的路径 新疆省赛 (按位亦或)
    E. Product Oriented Recurrence (矩阵快速幂新模板)
    C. Beautiful Lyrics (模拟)构造
    O(n!)新疆省赛 d (贪心)
    Babelfish 分类: 哈希 2015-08-04 09:25 2人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/Emcikem/p/14605495.html
Copyright © 2020-2023  润新知