题目来源:
【题意】
有n个物品的重量和价值分别是wi,vi,从中选取k个物品使得单位重量的价值最大。
输出格式:
输出一行物品的编号。

#include<iostream>
#include<stdio.h>
#include<algorithm>
#define ls (p<<1)
#define rs (p<<1|1)
#define mid (l+r)/2
using namespace std;
typedef long long ll;
const ll N=1e5+7;
const double mod=2147483647.0;
const double EPS=1e-6;
ll n,k;
double f[N];
#undef mid
struct node
{double v,w,av;ll id;bool operator<(const node &t)const{return av>t.av;}
}arr[N];
inline bool check(double x)
{for(int i=1;i<=n;++i)arr[i].av=arr[i].v-arr[i].w*x;sort(arr+1,arr+1+n);double sum=0;for(int i=1;i<=k;++i)sum+=arr[i].av;return sum>=0;
}
void solve()
{double l=0,r=mod;while(l+EPS<=r){double mid=(l+r)/2;if(check(mid))l=mid;else r=mid;}
}
int main()
{while(~scanf("%lld %lld",&n,&k)){for(ll i=1;i<=n;++i){scanf("%lf %lf",&arr[i].v,&arr[i].w);arr[i].id=i;}solve();for(ll i=1;i<=k;++i)printf("%lld%s",arr[i].id,i==k?"\n":" ");}return 0;
}

有任何疑问欢迎评论哦虽然我真的很菜
点个关注再走吧

POJ 3111 K Best (最大化平均值,贪心 二分)难度⭐⭐⭐相关推荐

  1. K BEST(最大化平均值)

    K BEST(最大化平均值) Demy has n jewels. Each of her jewels has some value vi and weight wi.Since her husba ...

  2. POJ 3111 K Best 贪心 二分

    题目链接: http://poj.org/problem?id=3111 题目描述: 在N个物品中让你选出K个, 使得平均价值最大 解题思路: 这是我错的代码......一会儿回来改啊......一会 ...

  3. 最大化平均值 (二分搜索法)

    题目描述: 有n个物品的重量和价值分别为Wi和Vi.从中选出k个物品使得单位重量的价值最大. 例如: n=3 k=2 (w,v)={(2,2) , (5,3) , (2,1) } 输出应为0.75 分 ...

  4. nyoj-976-Youth的最大化(贪心+二分)

    本题为01分数规划 同类题型poj-2976 #include<stdio.h> #include<string.h> #include<algorithm> us ...

  5. POJ 2976 Dropping tests【二分 最大化平均值】

    题意:定义最大平均分为 (a1+a2+a3+---+an)/(b1+b2+---+bn),求任意去除k场考试的最大平均成绩 和挑战程序设计上面的最大化平均值的例子一样 判断是否存在x满足条件 (a1+ ...

  6. Divide and conquer:K Best(POJ 3111)

     挑选最美的珠宝 题目大意:挑选k个珠宝使得∑a/∑b最大,输出组合数 最大化平均值的标准题型,二分法就好了,一定要注意范围(10e-7),如果是10e-8就会tle,10e-6就是wa 1 #inc ...

  7. [SCOI2005]栅栏(贪心+二分+dfs)难度⭐⭐⭐⭐

    [SCOI2005]栅栏(贪心+二分+dfs) P2329 [SCOI2005]栅栏 题目描述 农夫约翰打算建立一个栅栏将他的牧场给围起来,因此他需要一些特定规格的木材.于是农夫约翰到木材店购买木材. ...

  8. 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II

    题目传送门 1 /* 2 贪心/二分查找:首先对ai%=p,然后sort,这样的话就有序能使用二分查找.贪心的思想是每次找到一个aj使得和为p-1(如果有的话) 3 当然有可能两个数和超过p,那么an ...

  9. LIS最长上升子序列详解(动态规划、贪心+二分、树状数组)

    1.摘要: 关于LIS部分,本篇博客讲一下LIS的概念定义和理解,以及求LIS的三种方法,分别是O(n^2)的DP,O(nlogn)的二分+贪心法,以及O(nlogn)的树状数组优化的DP,最后附上几 ...

最新文章

  1. redis mysql 集群_mysql_redis
  2. 牛X!Github项目中文榜,你想知道不想知道的都有!
  3. bmp和png读取速率和处理速率比较
  4. [译]React Component最佳实践
  5. 15 redis-分布式锁
  6. 走进 Facebook POP 的世界
  7. linux下ls出现文件的后缀有@,* ,/之类的解释
  8. 【nacos系列】nacos配置中心管理实战
  9. 度度熊的01世界 DFS
  10. python struct pack string_python struct pack fmt格式
  11. Windows8 Metro应用开发之C#(3)- 数据控件ListView、GridView、FlipView
  12. visio中绘制空间坐标系
  13. 打开计算机系统无法访问指定的,win10系统运行软件时提示“无法访问指定设备路径或文件的修复步骤...
  14. UPC-9558 区间权值
  15. 矩阵计算在计算机科学中,开发者必读:计算机科学中的线性代数
  16. wifipineapple外接网卡上网
  17. 【C++】【整活】鼠标抖动
  18. 计算机键盘时好时坏,电脑鼠标时好时坏的解决方法
  19. 从零编写一个解析器(1)—— 解析数字
  20. 考研350什么水平计算机,考研350分的难度相当于高考考什么水平?很多人都不知道...

热门文章

  1. 干货 | tensorflow模型导出与OpenCV DNN中使用
  2. 神经网络中,设计loss function有哪些技巧?
  3. 实战:动手搭建一个开源动作相机
  4. 非常好用的Python图像增强工具,适用多个框架
  5. iOS面试准备之思维导图
  6. Flash 在 EK 被利用漏洞 Top 10 中占 8 个位置
  7. ActiveMQ持久化消息的三种方式
  8. 《3D数学基础》1.8 混合积
  9. 《Div+CSS 3.0网页布局案例精粹》扫描版[PDF]
  10. BizTalk 开发小技巧-Custom XSLT复杂mapping的简单实现