weixin_47740490 2021-08-04 17:52 采纳率: 33.3%
浏览 61
已结题

背包问题 求最大值 能用Python语言写最好

小D最近热衷于洞穴探险,于是小D去了一趟超市购买了一些物资为下次洞穴探险做准备。
由于小D的背包容量有限,所以小D想在装满背包的前提下买价值尽量大的东西。
众所周知,这是一个01背包问题,由于小D精通ACM,所以这个问题已经被小D解决了。
但现在小D面临一个新的问题,由于小D的背包非常神奇,导致物品放入的顺序也会影响物品的价值。

具体地说,现在有 n 个物品,你可以选择放入若干个物品,一个都不放也行(虽然那样小D可能要饿死在洞穴中)。
每个物品有两个参数,系数 k 和重量 w,不妨设现在放入的物品的系数为 k,重量为 w,已经放入的物品的总重量为 s。
那么这个物品的价值为 k×w−s,求最大价值。
输入
第一行给出一个整数 T,表示有 T 组数据;
每组数据第一行给出一个整数 n;
接下来 n 行,每行给出 2 个整数 ki,wi;
1≤n≤5000,1≤ki,wi≤106
∑n≤20000
输出
输出一个整数,表示答案
输入示例
1
3
5 6
3 3
4 7

输出示例
55

示例说明
最优情况下要放入所有物品
第一次放入第二个物品,价值 3 * 3 - 0 = 9
第二次放入第一个物品,价值 5 * 6 - 3 = 27
第三次放入第三个物品,价值 4 * 7 - 9 = 19
总和为 55

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 8月12日
    • 创建了问题 8月4日

    悬赏问题

    • ¥50 rk3588板端推理
    • ¥250 opencv怎么去掉 数字0中间的斜杠。
    • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
    • ¥50 paddleocr带斜线的0很容易识别成9
    • ¥15 电子档案元素采集(tiff及PDF扫描图片)
    • ¥15 flink-sql-connector-rabbitmq使用
    • ¥15 zynq7015,PCIE读写延时偏大
    • ¥15 使用spss做psm(倾向性评分匹配)遇到问题
    • ¥20 vue+UEditor附件上传问题
    • ¥15 想做个WPS的自动化代码,不知道能做的起不。