POJ 3111 K Best(最大化平均值)

简介:
题目链接 click here~~

题目大意】有n个物品的重量和价值各自是Wi和Vi。从中选出K个物品使得单位重量的价值最大,输出物品的编号

解题思路】:最大化平均值的经典.參见click here~~

代码:

//#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
const int N=1e5+10;
const double eps=1e-8;
int n,k,m;
struct node
{
    double y,v,w;//价值。重量
    int id;
}pp[N];
bool cmp(node a,node b)
{
    return a.y>b.y;
}
bool get(double mid)//能够选择使得单位重量的价值不小于mid
{
    bool pk;
    for(int i=0; i=0) pk=true;
    else pk=false;
    return pk;
}
int main()
{
    //freopen("1.txt","r",stdin);
    scanf("%d%d",&n,&k);
    for(int i=0; ieps)
    {
        double mid=(ll+rr)/2;
        if(get(mid)) ll=mid;
        else rr=mid;
    }
    //printf("%.2f\n",rr);
    printf("%d",pp[0].id);
    for(int i=1;i




本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5208042.html,如需转载请自行联系原作者
相关文章
如何修改springboot项目启动时的默认图标?
如何修改springboot项目启动时的默认图标?
460 0
如何修改springboot项目启动时的默认图标?
|
SQL Ubuntu Oracle
Ubuntu安装MySQL 8.0 - APT(结尾附视频)
Ubuntu安装MySQL 8.0 - APT(结尾附视频)
533 0
|
前端开发 数据库
2021-07-30大连东软实训第十天---数据库+ 后端学习+ 前端实现员工管理系统(完善)
2021-07-30大连东软实训第十天---数据库+ 后端学习+ 前端实现员工管理系统(完善)
120 0
|
存储 安全 IDE
Linux -- 基础IO(2)
1. 基础认识 文件=内容+属性,对文件的操作无非就两种:对内容进行操作或者对属性进行操作。 文件没有被操作的时候,文件一般是放在磁盘上的。 文件被操作的时候,文件是内存中的,因为是冯诺依曼体系的规定。 文件被操作的时候,文件被加载内存中的必须得有文件属性。 打开文件本质就是将需要的文件属性加载到内存中,操作系统一定同时存在大量的被打开的文件,同时操作系统也要管理这些被打开的文件,要管理文件就需要先描述后组织,先描述就是构建在内存中的文件结构体struct file{},这个结构体可以从磁盘上拿到,后组织就是通过数据结构来组织,比如:链表来连接结构体节点。 文件被分为两大类:磁盘文件、内存文件
273 0
|
12天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
4天前
|
云安全 人工智能 安全
Dify平台集成阿里云AI安全护栏,构建AI Runtime安全防线
阿里云 AI 安全护栏加入Dify平台,打造可信赖的 AI