poj3111
来源:互联网 发布:森林优化 编辑:程序博客网 时间:2024/06/13 20:45
#include <iostream>#include<cstdio>#include<algorithm>using namespace std;const double eps=1e-6;int n,k;struct node2{ double res; int num;}value[100005];struct node1{ int v, w, num;}j[100005];bool qrt(node2 f,node2 s){ return (f.res)>(s.res);}int main(){ while(scanf("%d%d",&n,&k)!=EOF) { for(int i=0;i<n;i++) { scanf("%d%d",&j[i].v,&j[i].w); j[i].num=i; } double ub=1<<29,lb=0; while(ub-lb>eps) { double mid=(ub+lb)/2; for(int i=0;i<n;i++) { value[i].res=j[i].v-mid*j[i].w; value[i].num=i; } sort(value,value+n,qrt); double sum=0; for(int i=0;i<k;i++) sum+=value[i].res; if(sum>=0) lb=mid; else ub=mid; } for(int i=0;i<k;i++) printf("%d%c",value[i].num+1,(i==k-1)?'\n':' '); } return 0;}
二分法
据说迭代可以更快的实现,暂时水平有限就这样吧
0 0
- poj3111
- poj3111
- poj3111
- POJ3111
- poj3111 二分最大化平均值
- POJ3111--K Best
- poj3111 K Best
- POJ3111-K Best
- POJ3111 最大化平均值
- POJ3111 K Best
- POJ3111-K Best
- K Best poj3111
- poj3111-K Best
- POJ3111 K Best 二分搜索
- POJ3111-K Best-最大化平均值
- poj3111 K Best【最大化平均值】
- POJ3111 K Best 最大化平均值(二分)
- POJ3111 K Best(二分 最大化平均值)
- VS2010下创建静态链接库和动态链接库
- 十二、Python的yield用法与原理
- 【JSP开发】解决session中cookie被禁用
- Scrum实施【敏捷开发总结】
- Eclipse运行网站时内存溢出解决方法
- poj3111
- 黑马程序员 —— 面向对象(第十天)
- apt-get install 的替换命令及mysql安装问题的解决
- Android Activity原理以及其子类描述
- Swift之网络编程-请求缓存
- HDU 1102 最小生成树
- N-Queens -- leetcode
- ACM #1014 : Trie树
- django 模板中使用数组形式