01分数规划
条评论wyh的物品
时间限制:C/C++ 5秒,其他语言10秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld题目描述
wyh学长现在手里有n个物品,这n个物品的重量和价值都告诉你,然后现在让你从中选取k个,问你在所有可能选取的方案中,最大的单位价值为多少(单位价值为选取的k个物品的总价值和总重量的比值)链接:https://www.nowcoder.com/acm/contest/93/I
来源:牛客网输入描述:
输入第一行一个整数T(1<=T<=10)
接下来有T组测试数据,对于每组测试数据,第一行输入两个数n和k(1<=k<=n<=100000)
接下来有n行,每行两个是a和b,代表这个物品的重量和价值输出描述:
对于每组测试数据,输出对应答案,结果保留两位小数示例1
输入
1
3 2
2 2
5 3
2 1输出
0.75说明
对于样例来说,我们选择第一个物品和第三个物品,达到最优目的
做法:
二分,对于每一个答案C,有 s[i] = w[i]-c*v[i]
排序,取最大前k个,如果大于等于0则可行,否则不可行
1 |
|
- 本文链接:01分数规划
- 发布时间:2018年04月07日 - 16:51:42
- 更新时间:2021年02月03日 - 6:56:56
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!
分享