社区讨论

较为形式化的贪心策略证明

P13957[ICPC 2023 Nanjing R] 背包参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mmkqplpr
此快照首次捕获于
2026/03/10 23:03
昨天
此快照最后确认于
2026/03/11 19:52
4 小时前
查看原帖
设最优解中购买的宝石集合为 BB,免费获得的宝石集合为 FF,满足 FkiBwiW|F| \le k\land \sum_{i \in B} w_i \le W,目标最大化总美丽度 iBvi+iFvi\sum_{i \in B} v_i + \sum_{i \in F} v_i
假定此时一组不做任何相对花费约束的集合 BBFF 是使总美丽度取最大值的合法解。
交换调整:若存在 aBa \in BbFb \in F 使得 wa>wbw_a > w_b,则考虑交换二者的身份:让 aa 变为免费,bb 变为购买。新的购买集合 B=(B{a}){b}B' = (B \setminus \{a\}) \cup \{b\},新免费集合 F=(F{b}){a}F' = (F \setminus \{b\}) \cup \{a\}。此时总花费变为
iBwi=iBwiwa+wbiBwiW,\sum_{i \in B'} w_i = \sum_{i \in B} w_i - w_a + w_b \le \sum_{i \in B} w_i \le W,
因为 wb<waw_b < w_a。总美丽度不变,故新解仍为最优解。重复此交换过程,直到不存在这样的逆序对。最终得到的解中,所有购买宝石的价格都不大于任何免费宝石的价格,即若 iBi \in BjFj \in F,则必有 wiwjw_i \le w_j
由排序性质可知,存在一个分界点 pp,使得所有购买宝石的编号不超过 pp,所有免费宝石的编号大于 pp(价格相等时编号大小关系可任意,不影响结论)。因此,最优解可以描述为:先选取某个分割点 ii0in0 \le i \le n),在前 ii 个宝石中用 WW 元进行购买(01背包),在后 nin-i 个宝石中免费取至多 kk 个美丽度最大的宝石。
该贪心策略的正确性得证。

回复

1 条回复,欢迎继续交流。

正在加载回复...