poj 3111 二分求最大化平均值

MIMO中K-Best仿真算法 MIMO中K-Best仿真算法,64QAM调制,发射天线数与接收天线数均为8(可调整),可绘出信噪比曲线 立即下载
K Best
Time Limit: 8000MS Memory Limit: 65536K
Total Submissions: 6169 Accepted: 1651
Case Time Limit: 2000MS Special Judge

Description

Demy has n jewels. Each of her jewels has some value vi and weight wi.

Since her husband John got broke after recent financial crises, Demy has decided to sell some jewels. She has decided that she would keep k best jewels for herself. She decided to keep such jewels that their specific value is as large as possible. That is, denote the specific value of some set of jewels S = {i1, i2, …, ik} as

.

Demy would like to select such k jewels that their specific value is maximal possible. Help her to do so.

Input

The first line of the input file contains n — the number of jewels Demy got, and k — the number of jewels she would like to keep (1 ≤ k ≤ n ≤ 100 000).

The following n lines contain two integer numbers each — vi and wi (0 ≤ vi ≤ 106, 1 ≤ wi ≤ 106, both the sum of all vi and the sum of all wi do not exceed 107).

Output

Output k numbers — the numbers of jewels Demy must keep. If there are several solutions, output any one.

Sample Input

3 2
1 1
1 2
1 3

Sample Output

1 2

Source

Northeastern Europe 2005, Northern Subregion


这道题就是用贪心+二分求最大化平均值。

选前k个的时候用nth_element比用sort快多了...


#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>

using namespace std;

#define maxn 100005



int ans[maxn];
int n, k;
double x;

struct node
{
    int v, w;
    int id;

    bool operator < (const node &a) const
    {
        return v-x*w > a.v-x*a.w;
    }
};
node a[maxn];

int main()
{
    while(scanf("%d%d", &n, &k)!=EOF){
        for(int i = 0; i < n; i++){
            scanf("%d%d", &a[i].v, &a[i].w);
            a[i].id = i+1;
        }

        double l = 0,  r = 1e7+10;
        while(l+1e-6<r){
            double m = (r+l)/2;
            x = m;

            nth_element(a, a+k-1, a+n);
            double tmp= 0;
            for(int i = 0; i < k; i++)
                tmp += a[i].v-x*a[i].w;

            if(tmp+1e-5 >= 0){
                for(int i = 0; i < k; i++)
                    ans[i] = a[i].id;
                l = m;
            }
            else
                r = m;
        }

        for(int i = 0; i < k-1; i++)
            printf("%d ", ans[i]);
        printf("%d\n", ans[k-1]);

    }

    return 0;
}





KLayout教程(二)编辑不同的形状 首先画一个基础的矩形,然后双击他可以定义他的坐标 阅读详情

相关推荐

IT世界里的“国境线”(芯片与算法篇)

首先分析下概念,对于芯片,相信大家已经比较了解,就不做过多的解释。我们说一下算法,虽然算法是应用在IT领域,但我相信学数学的同学,特别是学习计算数学的,对算法应该更加熟悉。记得在本科课程中,专门有一门课叫做“算法设计”。从概念上来讲,算法指的是解决问题的方法和流程,是一段逻辑,一系列解决问题的清晰指令。或者更通俗一点来讲,算法是从A到B,所有可能的计算方式。 一、 芯片与算法的关系 芯片和算法并不是独立或者对立的两个个体。芯片本身就集成了算法。算法是一种逻辑概念,芯片是算法的一种表现形式,软件也是算法的

weixin_49664622的博客 7018

poj3111(01分数规划)

链接: 题意:有n个物品的价值和重量,从中选择k个使

stay_accept的专栏 966

台式机ubuntu系统屏幕无法调节的问题(已解决)(汇总)

背景:新配了一台主机,安装了双系统,windows下屏幕在带鱼屏上显示良好,但Ubuntu系统屏幕拉伸严重。 问题描述:系统没有适应屏幕被整个拉伸了,进入设置界面,显示Built-in Display,分辨率只有1024*768无法设置。 尝试一:网上最多的方法就是使用xrandr, 结果显示:xrandr:Failed to get size of gamma for output default 尝试二: 第一次进入命令行页面:login:填你的用户面 password:使用字母上方的数字键输入你的密码

weixin_45626706的博客 4625

poj3111(均值的二分最大/小化)

/* translation: 给出n件物品,已知每件物品的重量和价值。要从这n件物品中选出k件,使得它们的单位价值最高。该选择哪几件? solution: 均值二分最大化 这道题同样不能用贪心。因为列出公式就可以看到每次的决策和全部的价值总和以及重量总和有关。故简单的贪心肯定是错误的。 所以对于这类问题可以二分枚举最优解,然后转化问题为判断当前枚举的最优解是否可行。即判断sum(V0..

林伏案的博客 365

SPSS(二)SPSS实现多因素方差分析模型(图文教程+数据集)

SPSS(二)SPSS实现多因素方差分析模型 单因素方差分析上一篇博客https://blog.youkuaiyun.com/LuYi_WeiLin/article/details/89917656已经介绍完毕 这篇博客我们主要来学习多因素方差分析 多因素方差分析,就是同时考虑若干个控制因素的情况下,分别分析它们的改变是否造成观察变量的显著变动 (多个自变量,一个因变量)自变量类型以分类变量为主也可以...

可乐联盟 6万+

riscv32-gcc工具链实战:从下载到编译的完整指南

本文提供了一份详尽的riscv32-gcc工具链实战指南,涵盖从官方渠道下载预编译版本、正确选择riscv32-glibc版本、配置环境变量到实战编译的全过程。通过清晰的步骤和避坑指南,帮助开发者快速搭建稳定的RISC-V交叉编译环境,并成功编译从Hello World到Linux内核的程序。

s3t4u的博客 675

最大化平均值——poj 3111

题目描述:

AndyBear 1519

用易经智慧看懂人工智能:64卦中的科技密码--当古老智慧遇见未来科技

在人工智能狂飙突进的今天,我们总在追问:这些代码构建的智能究竟会带人类走向何方?或许答案早已藏在《周易》的六十四卦中——这本中华文明的“源代码”,正用一种跨越时空的语言,悄悄解释着最前沿的科技秘密。

weixin_38410320的博客 2084

POJ3111

http://poj.org/problem?id=3111 二分+贪心 对于这个问题,我们定义C(x):=可以选择使得单位重量的价值不低于x。 因此问题就变成了sigama(vi)/sigame(wi)>=x. 变形得 sigama(vi-x*wi)>=0 因此就可以对(vi-x*wi)进行贪心的选取。 那么问题就变成了C(x)=((vi-x*wi)从大到小

cquzhengdayday的博客 535

树莓派国内镜像源一键配置指南

本文提供树莓派国内镜像源一键配置指南,解决默认国外源访问缓慢问题。通过自动检测系统版本并支持清华、阿里云、中科大等主流镜像站选择,大幅提升软件更新与安装速度。包含详细的手动配置方法和常见问题排查,帮助用户快速完成树莓派换源优化。

tequila的博客 1376

Protege入门指南:从下载到本体构建实战

本文是Protege的入门实战指南,详细介绍了如何从官网下载安装这款由斯坦福大学开发的免费本体构建工具,并通过经典的“披萨本体”案例,系统讲解了类、属性、个体和公理四大核心要素。文章还深入解析了Protege的工作界面,并引导读者亲手创建一个简易的“公司人员组织”本体,完成从定义概念、建立关系到逻辑推理的全流程,是知识图谱与本体建模初学者的理想教程。

weixin_29093169的博客 698

poj3111 选取物品(二分+贪心)

题目传送门题意就是,n个物品,从中选取k个,要按照那个公式所取的值最大。思路:最大化平均值的时候首先想到的就是二分, 我们设G(x) 为单位的重量不小于X, 我们的目标就是要找到满足条件的最大的X, 也就是说我们的OK函数就要判断是否能够找到一个大小为K的集合S, 使得单位重量的价值大于等于X, 我们将当时变形转化为vi - x*wi &gt;= 0  对于 所有的i 属于集合S, 这时我们对于一...

ysk850874665的博客 456

Winform从入门到精通(1)——Label(史上最全)

本篇文章是对专栏《winform控件从入门到精通》的详细介绍

qq_34059233的博客 4万+

POJ-3111 K Best---二分求最大化平均值

题目链接: https://cn.vjudge.net/problem/POJ-3111 题目大意: 卖宝救夫:Demy要卖珠宝,n件分别价值vi重wi,她希望保留k件使得 最大。 解题思路: 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #inc...

weixin_33781606的博客 130

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

K Best POJ - 3111 二分 最大化平均值

DescriptionDemy has n jewels. Each of her jewels has some value vi and weight wi.Since her husband John got broke after recent financial crises, Demy has decided to sell some jewels. She has decided th

xinxiaxindong的博客 346

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

POJ 3111 二分

题意 传送门 POJ 3111 最大化平均值问题,求满足下式的最大 xxx ∑vi/∑wi≥x\sum v_{i} / \sum w_{i}\geq x∑vi​/∑wi​≥x 不等式变形,即 ∑(vi−x∗wi)≥0\sum (v_{i}-x*w_{i}) \geq 0∑(vi​−x∗wi​)≥0 贪心法求最大的 kkk 个珠宝 (vi−x∗wi)(v_{i}-x*w_{i})(vi​−x∗wi​...

neweryyy的博客 286

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

poj 3111 K Best 最大化平均值 二分思想

poj 3111 K Best 最大化平均值 二分思想 题目链接: http://poj.org/problem?id=3111 思路: 挑战程序竞赛书上讲的很好,下面的解释也基本来源于此书 设定条件C(x):=可以选择使得单位重量的价值不小于x 如何判定C(x)是否可行 假设选了某个物品的集合是S,那么单位重量的价值是:\[ \sum\limits_{i \in S} {v_i } ...

ddqb3235的博客 178

POJ3111 K Best【二分搜索】

K Best Time Limit: 8000MS Memory Limit: 65536K Total Submissions: 18496 Accepted: 4565 Case Time Limit: 2000MS Special Judge Description Demy has n jewels. Each of her jewels has some value vi and weight wi. Since her husband John got broke after recent

海岛Blog 465

poj 3111 Status List (二分 + 贪心 最大化平均值)

@(K ACMer) by 题解工厂题意:有n个东西,每个东西的价值为x重量为y,从中选取k个东西,求价值重量比得最大值t.分析:典型的最大化平均值问题.如果不仔细思考容易按照贪心的思想去做,贪心是简单但是要基本确定他是对的再做!这里贪心就不对. 要满足:∑x / ∑y>=t\sum x \ / \ \sum y >= t 有:∑x−y∗t>=0\sum{x - y * t} >= 0 这里在

JIBANCANYANG 528

POJ 3111 K Best &&NYOJ 914 (二分+ 贪心,最大化平均值)

poj3111 && NYOJ 914 有n个物品的重量和价值分别是w[i]和v[i],从中选出K个物品使得单位重量的价值最大。(1<=k<=n<=10^41<=w[i],v[i]<=10^6)

herongwei 的 BLOG 1649

二分搜索,最大化平均值 Poj-3111

题目链接:https://vjudge.net/problem/POJ-3111 题目大意就是给你一堆有价值和重量的珠宝,问你如何挑选能够是最终单位珠宝的价值最大。 首先我们的思路肯定是贪心,按照它们的单位价值进行排序,取最大的几个。但是这是错误的。在这组数据中贪心就是错误的 k = 2 {w,v} = {2,2} , {5,3} ,{2,1} 依照贪心的思想我们肯定会选取 {5...

nEo.大魔王 400

POJ3111 K Best(二分 最大化平均值)

http://poj.org/problem?id=3111 TLE了好几次的原因,快排对于已经有一定顺序的数排得比较快,所以要在上次排好的基础上,继续下一次排序。还有就是不用每一次都把新的选择保存下来,最后直接输出b[i].num就可以,因为100次循环以后,最后几次前k个b[i].num就是正解。 一般而言,二分查找的时候左开右闭或者左闭右开都是无所谓的,初始状态中的l,r

Muya 346

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

K Best Time Limit: 8000MS Memory Limit: 65536K Total Submissions: 10457 Accepted: 2695 Case Time Limit: 2000MS Special Judge DescriptionDemy has n jewels. Each of her jewels has som

Twillz的博客 404

POJ3111 K Best 最大化平均值(二分)

题目链接:http://poj.org/problem?id=3111 题目大意:n个珠宝,每个珠宝对应一个重量wi和价值vi,现在要从中找出k个,使的这k个珠宝的单位重量的价值最大,输出这k个珠宝的编号。 分析:一般最先想到的方法可能是把物品按照单位价值进行排序,从大到小贪心的进行搜索,但这样做,实际求得的是对于给定的重量,可以得到的最大价值,显然这不是本题所要求的。  

AC_Gibson的专栏 1175

(POJ - 3111)K Best

(POJ - 3111)K Best Demy has n jewels. Each of her jewels has some value vi and weight wi. Since her husband John got broke after recent financial crises, Demy has decided to sell some jewels. She has decided t

The wind of freedom blows 410

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

题目链接:click here~~ 【题目大意】有n个物品的重量和价值分别是Wi和Vi,从中选出K个物品使得单位重量的价值最大,输出物品的编号 【解题思路】:最大化平均值的经典.参见click here~~ 代码: //#include #include #include #include #include #include using namespace std; const

herongwei 的 BLOG 1494
上一篇: poj 3368 离散化+线段树+二分
下一篇: poj 2686 状态dp
HuanTongH
博客等级 码龄12年 7粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值