3698: 分装背包问题
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:5
解决:5
题目描述
给定一个容量为 W 的背包,以及 N 个可分割的物品(分数背包)。每个物品 i 有两个属性:重量 w[i] 和价值 v[i]。你可以选择将物品的一部分装入背包(而非必须完整装入),要求在不超过背包容量的前提下,最大化背包中物品的总价值。
优先选择单位重量价值(价值 / 重量) 最高的物品,尽可能多地装入;若该物品无法完整装入,则装入剩余容量对应的部分,直到背包被装满。
输入
第一行:两个整数 N 和 W,分别表示物品数量(1 ≤ N ≤ 100)和背包容量(1 ≤ W ≤ 1000)。
接下来 N 行:每行两个整数 v[i] 和 w[i],分别表示第 i 个物品的价值(1 ≤ v [i] ≤ 1000)和重量(1 ≤ w [i] ≤ 1000)。
接下来 N 行:每行两个整数 v[i] 和 w[i],分别表示第 i 个物品的价值(1 ≤ v [i] ≤ 1000)和重量(1 ≤ w [i] ≤ 1000)。
输出
输出一个浮点数,表示背包能装入的最大总价值,结果需精确到小数点后 2 位。
样例输入 复制
3 50
60 10
100 20
120 30
样例输出 复制
240.00