POJ 2976 Dropping tests 【01分数规划+二分】

【23】OpenCV C++实战篇——张正友相机标定【相机标定原理、相机标定流程、标定结果评价、图像畸变矫正】 R是3×3的正交单位矩阵(即旋转矩阵),t为平移向量,R、t与摄像机无关,所以称这两个参数为摄像机的外参数(extrinsicparameter),可以理解为两个坐标原点之间的距离,因其受x,y,z三个方向上的分量共同控制,所以其具有三个自由度。R是3×3的正交单位矩阵(即旋转矩阵),t为平移向量,R、t与摄像机无关,所以称这两个参数为摄像机的外参数(extrinsicparameter),可以理解为两个坐标原点之间的距离,因其受x,y,z三个方向上的分量共同控制,所以其具有三个自由度。 阅读详情

题目链接:http://poj.org/problem?id=2976

Dropping tests

Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 17838 Accepted: 6186

Description

In a certain course, you take n tests. If you get ai out of bi questions correct on test i, your cumulative average is defined to be

.

Given your test scores and a positive integer k, determine how high you can make your cumulative average if you are allowed to drop any k of your test scores.

Suppose you take 3 tests with scores of 5/5, 0/1, and 2/6. Without dropping any tests, your cumulative average is . However, if you drop the third test, your cumulative average becomes .

Input

The input test file will contain multiple test cases, each containing exactly three lines. The first line contains two integers, 1 ≤ n ≤ 1000 and 0 ≤ k < n. The second line contains n integers indicating ai for all i. The third line contains n positive integers indicating bi for all i. It is guaranteed that 0 ≤ ai ≤ bi ≤ 1, 000, 000, 000. The end-of-file is marked by a test case with n = k = 0 and should not be processed.

Output

For each test case, write a single line with the highest cumulative average possible after dropping k of the given test scores. The average should be rounded to the nearest integer.

Sample Input

3 1
5 0 2
5 1 6
4 2
1 2 7 9
5 6 7 9
0 0

Sample Output

83
100

Hint

To avoid ambiguities due to rounding errors, the judge tests have been constructed so that all answers are at least 0.001 away from a decision boundary (i.e., you can assume that the average is never 83.4997).

Source

 

题目概述:

N个物品,每个物品 i 有 a[ i ] 和 b[ i ] 两种属性,去掉K个物品,是的 Σai / Σbi 最大。

解题思路:

我们令 Σai / Σbi >= x, 然后二分x,而判断条件则移一下项得 Σai >= Σbi*x  → Σai - Σbi*x >= 0,因为我们要去掉 K 个小的, 取N-K个使结果最大化的,所以用 令 p[ i ] =  Σai - Σbi*x,对 p[ i ] 默认升序排序之后,第 K 到 N 个。判断这些数和是否满足不等式条件(大于等于0)

注意事项:

因为计算机的精度问题,要注意细节的处理,对浮点数的计算。(in代码)

 

AC code:

 1 #include <cstdio>
 2 #include <iostream>
 3 #include <algorithm>
 4 #include <cstring>
 5 #include <cmath>
 6 #define INF 0x3f3f3f3f
 7 #define ll long long int
 8 using namespace std;
 9 
10 const int MAXN =  2048;
11 int N, K;
12 int a[MAXN], b[MAXN];
13 double p[MAXN];       ///这里的p一定要是浮点型,因为本来就是计算分式
14 
15 bool ok(double x)
16 {
17     for(int i = 1; i <= N; i++)
18     {
19         p[i] = a[i]-b[i]*x;
20     }
21     sort(p+1, p+N+1);
22     double ans = 0;
23     for(int j = N; j > K; j--)
24     {
25         ans+=p[j];
26     }
27     return ans>=0;
28 }
29 
30 int main()
31 {
32     while(~scanf("%d%d", &N, &K) && N|K)
33     {
34         for(int i = 1; i <= N; i++)
35         {
36             scanf("%d", &a[i]);
37         }
38         for(int i  = 1; i <= N; i++)
39         {
40             scanf("%d", &b[i]);
41         }
42         double l = 0, r = 1;
43         while(r-l>1e-6)        //!!!这里不用0,是因为计算机精度问题,计算浮点数要保留一定误差,改成0会超时
44         {
45             double mid = (l+r)/2.0;
46             if(ok(mid)) l = mid;
47             else r = mid;
48         }
49         printf("%.0lf\n", l*100);
50     }
51     return 0;
52 }
View Code

 

机器视觉框架源码——解读5(Dock和开源UI) 本文介绍了工业软件中Dock工具面板的使用方法,主要包括三个部分:添加avalonDock引用、修改属性配置(如显示样式和背景色),以及通过MVVM命令实现布局的加载和保存。加载布局通过XmlLayoutSerializer从XML文件恢复界面状态,保存布局则将当前DockManager的布局序列化为XML文件。文章提供了代码示例和截图说明,帮助开发者快速掌握Dock面板的核心功能。 阅读详情

相关推荐

变邻域搜索(VNS)原理梳理和应用细节-附求解VRPTW问题C++代码

文章目录1、简介-introduction2、VNS的基本机制2.1 变邻域下降方法-Variable Neighborhood Descent2.2基本变邻域搜索方法-Basic Variable Neighborhood Search2.3 终止准则3、VNS的拓展和混杂算法3.1 VNS的拓展3.2 变邻域分解搜索-Variable Neighborhood Decomposition Search3.3 偏变邻域搜索-Skewed VNS3.4 并行变邻域搜索-Parallel VNS4、VNS和其

dragon Fly的博客 6827

POJ 2976 Dropping tests —————— 01分数规划,二分

POJ 2976 Dropping tests 给出n个a和b,让选出n-k个使得 100∗∑i=1nai∑i=1nbi100*\frac{\sum_{i=1}^{n} a_i}{\sum_{i=1}^{n}b_i}100∗∑i=1n​bi​∑i=1n​ai​​ 最大 01规划问题,看这里 看完就会了 这里用的是二分的方法 /*--------- Hongjie ----------*/ /** ...

鸿杰 的博客 303

在 Ansys Mechanical 中使用“螺栓工具”插件自动生成螺栓

在有限元分析 (FEA) 中,高效创建螺栓连接对于确保机械装配的结构完整性和性能至关重要。螺栓是连接组件不可或缺的一部分,它们在负载下的精确建模会影响整个系统。快速高效的螺栓建模使工程师能够快速优化设计,满足紧迫的期限,并通过为其他关键设计任务释放资源来提高整体生产力。此外,螺栓建模的精度可以最大限度地降低模型创建过程中出错的风险,这对于获得可靠和准确的分析结果至关重要。因此,在 FEA 中快速且无错误地创建螺栓连接对于高效、可靠和成功的工程结果至关重要。

jkh920184196的博客 3104

POJ 2976 Dropping tests:01分数规划【二分】

题目链接:http://poj.org/problem?id=2976 题意:   共有n场考试,每场考试你得的分数为a[i],总分为b[i]。   你可以任意去掉k场考试。   问你最大的 100.0 * ( ∑ a[i] / ∑ b[i] )的值。(四舍五入) 题解:   相当于从n场考试中选n-k场。   二分:     二分最大答案 ∑ a[i]...

a1392136的博客 100

AI工作流革命:从n8n到Sora2,揭秘自动化视频创作的底层逻辑

本文深入探讨了AI工作流在自动化视频创作中的应用,重点介绍了n8n、Coze和Sora2的组合如何实现从链接输入到视频输出的全流程自动化。通过三层架构解析、关键技术模块优化及成本控制策略,这套方案显著提升了视频生产效率,适用于电商、热点追踪等多种场景。

gg901的博客 1090

汽车底盘技术解析:从悬架调校到智能化,如何评价国产车底盘实力

汽车底盘作为决定车辆驾驶质感、安全性和耐久性的核心系统,其技术内涵远不止于悬架结构。从行驶系、转向系到制动系的协同工作,底盘调校是一门融合机械原理与工程实践的艺术。在电动化与智能化浪潮下,底盘技术正经历从被动适应到主动响应的变革,CDC可变阻尼减震器和空气悬架等技术的应用,让底盘具备了通过OTA升级实现性能优化的可能。国产汽车品牌如奇瑞、吉利等,通过平台化架构研发与调校经验积累,正推动底盘技术从“能用”向“好用”乃至“塑造独特驾驶风格”迈进。理解底盘技术,需超越简单的结构对比,关注其在实际路况中的滤震性、支

weixin_34413103的博客 387

【POJ 2976 Dropping tests】01 分数规划(浮点二分)完整解题详解

本文探讨了如何通过01分数规划和浮点二分法解决一个关于物品选择的最优化问题。题目要求在n组物品中舍弃k件,使得剩余物品的权值比率(∑a_i / ∑b_i)最大化。算法核心是将比率问题转化为数学不等式,通过构造c_i = a_i - x*b_i并排序后贪心选取最大的n-k项来验证当前比率x是否可行。采用浮点二分在区间[0,1]内搜索最优解,精度设为1e-4以确保结果准确。代码实现包括变量定义、校验函数、二分查找和主函数处理多组输入,特别强调了排序逻辑和精度控制的重要性,避免常见错误如反向选取和数据类型溢出。该

Chow_Ssehc的博客 1040

PWN-shellcode

构造一段shellcode的作用就是为了在缓冲区溢出时将shellcode的地址覆盖掉正常的返回地址。 题目: 1Ch=16+12=28,+esp=32:偏移量是32 能溢出:100-0x1c-4=68字节 C伪代码: 理论基础 函数返回步骤 : 保存返回值:函数返回值保存在EAX寄存器 弹出当前栈帧,恢复上一个栈帧 a) ESP + 当前栈帧大小:堆栈平衡基础上,降低栈顶,回收当前栈帧空间...

MuMuLee_的博客 2086

POJ - 2976 Dropping tests(二分 + 01分数规划)

Dropping tests Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9635   Accepted: 3368 Description In a certain course, you take n tests. If you get ai out of

qq_18661257的专栏 1158

Vivado新手必看:5分钟搞定FPGA程序固化到Flash(附MCS文件生成全流程)

本文为FPGA新手详细解析了如何将程序固化到Flash存储器的完整流程。核心在于理解SRAM工艺FPGA断电易失的特性,并利用Vivado工具将比特流文件转换为Flash可识别的MCS文件。文章重点拆解了生成MCS文件的关键配置步骤、硬件连接要点,以及通过JTAG烧写Flash的实战操作,并提供了常见启动失败问题的排查清单,帮助开发者实现设计从调试到产品部署的关键跨越。

weixin_29230901的博客 356

【24届数字IC秋招总结】笔试面试篇——投递公司及时间节点汇总

从实习、提前批到秋招投递的有进展的公司进行汇总,关于各个公司的笔试和面试经历详见其他帖子。

qq_42135020的博客 1923

POJ 2976 Dropping tests (01分数规划+二分)

Dropping tests Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7360   Accepted: 2558 Description In a certain course, you take n tests. If you get ai out of 

Jonariguez 吾本优秀 865

【GameFramework框架内置模块】6、实体(Entity)

实体Entity就是一个实体的基本单元,类似于Unity的GameObject对象本体,然后这个本体上面附加其他各种各样组件,才能实现各种各样的功能。一般需要在游戏运行时动态加载的游戏对象,比如怪物、武器、子弹、特效,都需要给这个物体挂载一个实体Entity,这样的话就可以方便的对实例出来的对象进行管理。下面就来看一下如何使用吧。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 3137

POJ2976 Dropping tests(二分+01分数规划)

题目链接 Description In a certain course, you take n tests. If you get ai out of bi questions correct on test i, your cumulative average is defined to be. Given your test scores and a positive integer k, determine how high you can make your cumulative average

WTMDNM_的博客 267

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

Dropping tests POJ - 2976 (二分搜索 01分数规划)

题目: In a certain course, you takentests. If you getaiout ofbiquestions correct on testi, your cumulative average is defined to be . Given your test scores and a positive integerk, determine...

titi2018815的博客 261

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

POJ2976 - Dropping tests - 二分+01分数规划+思维

1.题目描述: Dropping tests Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11338   Accepted: 3947 Description In a certain course, you take n tests. If yo

终有绿洲摇曳在沙漠 1570

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

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

POJ 2976-Dropping tests(01分数规划_二分||Dinkelbach算法)

题目地址:POJ 2976 题意:给出n个a和b,让选出n-k个使得最大 思路:这是一道典型的01规划的题,限制条件较少,较好解决。对于01规推荐[Algorithm]01分数规划 本题因为每个都能选择,所以x[i]的取值都为1,然后要求的值最大,那就把n个构造的d[i]从小到大排序,选择后n-k个,在所有的L中二分查找最适合的L即可。#include <stdio.h> #include <

Rocky0429 2983

Bailian4145 放弃考试 POJ2976 ZOJ3068 Dropping tests【二分法+01分数规划】

4145:放弃考试 总时间限制: 1000ms 内存限制: 65536kB 描述 在一门课程中,一共有n场考试。假如你在i场考试中可以答对bi道题中的ai道,那么你的累计平均分定义为:100·Σai/Σbi。已知你这i场考试的答题情况,并且允许你放弃其中的k场考试,请你确定你最高能够得到多少的累计平均分。 假设该课程一共有3门考试,你的答题情况为5/5,0/1和2/6。如果你每门都参加,你的累计平均分为100·(5+0+2)/(5+1+6)= 50分。如果你放弃第3场考试,你的累计平均分则提高到了100·(

海岛Blog 2190

Dropping tests POJ - 2976 二分01分数规划

参考的事这个博客 #include <set> #include <map> #include <queue> #include <math.h> #include <vector> #include <string> #include <stdio.h> #include <string.h&g...

天天向上 193

[01分数规划]POJ2976 Dropping tests]经典二分题-01分数规划

题目链接 题目描述 给定N个元素,每个元素含有A[i],B[i],取其中N-K个元素得到:,最大化这个值. 分析 使用二分答案:二分一个值V,使得,化简: 那么可以在二分的check函数中选择前N-K个最大的(),检查是否大于等于0. 注意精度的处理。 #include <iostream> #include <cstdio> #include <al...

学习记录 382

POJ2976-01分数规划&二分-Dropping tests

https://vjudge.net/problem/POJ-2976 给定n个人,有两种分数,a,b 要求你选取一部分,要求 sigma(a)/sigma(b) *100得值最大。 化简式子 枚举的mid 不断的逼近最优解。 设定一个精度。#include <iostream> #include <cstring> #include <cstdio> #include <algor

天与云与山与水 779

POJ 2976 Dropping tests 01分数规划 模板 二分&&Dinkelbach

DescriptionIn a certain course, you take n tests. If you get ai out of bi questions correct on test i, your cumulative average is defined to be Given your test scores and a positive integer k, deter

Joovo的博客 528

POJ 2976 Dropping tests 01分数规划 二分解法

01分数规划:令a=(a1,a2,a3,...,an),b=(b1,b2,b3,...,bn),x=(x1,x2,x3,...,xn)都是n维整数向量,求a*x/b*x的最大值或最小值,其中x[i]只能取0或1,也就是求(a1*x1+a2*x2+a3*x3+...+an*xn)/(b1*x1+b2*x2+b3*x3+...+bn*xn),且xi={0,1},的最值,x取01的意思就是:如果xi取1

嗯。 374

POJ2976 Dropping tests —— 01分数规划 二分法

题目链接:http://poj.org/problem?id=2976 Dropping tests Time Limit:1000MS Memory Limit:65536K Total Submissions:13615 Accepted:4780 Description In a certain c...

weixin_30463341的博客 86

二分+01分数规划+最大化平均值 Dropping tests POJ - 2976

题意: 给你若n个分数,分子a[i]a[i]a[i],分母b[i]b[i]b[i],使满足公式100⋅∑i=1nai∑i=1nbi100\cdot\tfrac{\sum_{i=1}^{n} a_{i}}{\sum_{i=1}^{n} b_{i}}100⋅∑i=1n​bi​∑i=1n​ai​​,求任意去掉k个分数后,公式结果最大值。 题目: In a certain course, you take n tests. If you get aia_{i}ai​ out of bib_{i}bi​ questi

zeng_jun_yv的博客 244

[POJ2976]Dropping tests(01分数规划,二分)

题目链接:http://poj.org/problem?id=2976 题意:你有n个成绩要从中删除k个,使得100*(∑ai/∑bi)值最大。 这是个简单的01分数规划题,关于01分数规划:http://www.cnblogs.com/perseawe/archive/2012/05/03/01fsgh.html。 通过数学分析获得一个目标式的变形后,可以知道F(L)=∑ai*xi-L*∑...

weixin_30641465的博客 77
上一篇: (第五场)J plan 【贪心】
下一篇: POJ 3621 Sightseeing Cows 【01分数规划+spfa判正环】
莜莫oO
博客等级 码龄9年 7粉丝 226原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值