POJ 2976 Dropping tests(最大化平均值 or 01整数规划)
忽略运算符逻辑导致奇怪的错误(代码中指明位置了)
输出没加0.5,WA。
还有,注意特殊情况k=0,所以scanf("%d%d", &n, &k)&n就够了, scanf("%d%d", &n, &k)&n&k应该会WA。
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
int a[];
int b[];
double c[];
int n, k;
double l, m, u;
bool C(double m) {
double sum = ;
for (int i = ; i < n; i++) {
c[i] = a[i] - b[i]*m;
}
sort(c, c+n);
for (int i = k; i < n; i++) sum += c[i];
//for (int i = k; i < n; sum += c[i] && i++); priority
return sum >= 0.0;
}
int main(void) {
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
for (;scanf("%d%d", &n, &k) && n; printf("%d\n", (int)(l*+0.5))) {//n = ?, k=0
for (int i = ; i < n; scanf("%d", a+i)&&i++);
for (int i = ; i < n; scanf("%d", b+i)&&i++);
l = 0.0, u = 1.0;
for ( ;fabs(u-l) > 0.0001; ) {
m = (u+l)/2.0;
if (C(m)) l = m;
else u = m;
}
}
return ;
}
听说还是典型的01整数规划,有时间试试!
POJ 2976 Dropping tests(最大化平均值 or 01整数规划)的更多相关文章
- poj 2976 Dropping tests (最大化平均值:二分查找)
#include<iostream> #include<algorithm> #include<stdio.h> #include<math.h> #d ...
- 二分算法的应用——最大化平均值 POJ 2976 Dropping tests
最大化平均值 有n个物品的重量和价值分别wi 和 vi.从中选出 k 个物品使得 单位重量 的价值最大. 限制条件: <= k <= n <= ^ <= w_i <= v ...
- POJ - 2976 Dropping tests && 0/1 分数规划
POJ - 2976 Dropping tests 你有 \(n\) 次考试成绩, 定义考试平均成绩为 \[\frac{\sum_{i = 1}^{n} a_{i}}{\sum_{i = 1}^{n} ...
- POJ 2976 Dropping tests 【01分数规划+二分】
题目链接:http://poj.org/problem?id=2976 Dropping tests Time Limit: 1000MS Memory Limit: 65536K Total S ...
- POJ - 2976 Dropping tests(01分数规划---二分(最大化平均值))
题意:有n组ai和bi,要求去掉k组,使下式值最大. 分析: 1.此题是典型的01分数规划. 01分数规划:给定两个数组,a[i]表示选取i的可以得到的价值,b[i]表示选取i的代价.x[i]=1代表 ...
- POJ 2976 Dropping tests【二分 最大化平均值】
题意:定义最大平均分为 (a1+a2+a3+---+an)/(b1+b2+---+bn),求任意去除k场考试的最大平均成绩 和挑战程序设计上面的最大化平均值的例子一样 判断是否存在x满足条件 (a1+ ...
- POJ 2976 Dropping tests (最大化平均值)
题目链接:click here~~ [题目大意]给你n个分数的值,要求最小不选k个,使得最后分数相加结果平均值最大 [解题思路]:最大化平均值:參见:click here~~ 代码: #include ...
- POJ 2976 Dropping tests(01分数规划入门)
Dropping tests Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11367 Accepted: 3962 D ...
- POJ 2976 Dropping tests(01分数规划)
Dropping tests Time Limit: 1000MS Memory Limit: 65536K Total Submissions:17069 Accepted: 5925 De ...
随机推荐
- 利用mybatis-generator自动生成代码
mybatis-generator有三种用法:命令行.eclipse插件.maven插件.个人觉得maven插件最方便,可以在eclipse/intellij idea等ide上可以通用. 下面是从官 ...
- sencha xtype清单
xtype Class ----------------- --------------------- actionsheet Ext.ActionSheet audio Ext.Audio butt ...
- 20160307 - 双击打开 Js 扩展名的附件要保持留心
Windows Script Host 技术是一门很老的技术,它让 Windows 的自带脚本 VBScript 和 JScript 可以操作 Windows ActiveX 对象,这样的脚本具有本地 ...
- IQueryable和list本地集合区别
详情请看:http://www.cnblogs.com/imust/archive/2012/11/18/2776320.html
- Simple File System
This is my operating system class design. scanner.h #include<string> using namespace std; #pra ...
- hdu2642二维树状数组单点更新+区间查询
http://acm.hdu.edu.cn/showproblem.php?pid=2642 题目大意:一个星空,二维的.上面有1000*1000的格点,每个格点上有星星在闪烁.一开始时星星全部暗淡着 ...
- [AJAX系列]$.post(url,[data],[fn],[type])
概述: 通过远程HTTP POST请求载入信息 参数: url:发送请求地址 data:待发送Key/value值 callback:发送成功时回调函数 type:返回内容格式 xml html ...
- mysql的sql_mode合理设置
mysql的sql_mode合理设置 sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入.在生产环境必须将这个值设置为严格模式,所以 ...
- 最短的可通过编译的C语言程序
要求:写一个最短的,能通过编译的C语言程序,但不要求能正确运行. 一般人首先想到的是除0.即 int main() { /; } 除0会引发SIGFPE信号(浮点异常). 我们也可以删掉return, ...
- Java微信公众号开发-外网映射工具配置
一.开发环境准备 1.一个微信公众号 2.外网映射工具(开发调试)如花生壳.ngrok工具 注:与微信对接的URL要具备以下条件a:在公网上能够访问 b:端口只支持80端口 这里使用ngrok.cc: ...