题意:
      给你一组"数",一共n个,每个数有两个权值,价钱a[i],代价b[i],让你选择n - k使得 sigma(a[i]) / sigma(b[i]) * 100 最大;

思路:

      毫无疑问这个是01分数规划的最进本形式,唯一的限制就是取个数,那么我们直接sort以下,取出来就行了。没啥解释的,这个是自己的第一个01分数规划,一会要自己总结下01分数规划的理解了,感觉不是很难,就是证明点东西。


自己总结的01分数规划:

http://blog.csdn.net/u013761036/article/details/26666261


#include<stdio.h>
#include<algorithm>#define N 1000 + 10
#define INF 1000000000
#define eps 0.000001using namespace std;bool camp(double a ,double b)
{return a > b;
}double a[N] ,b[N] ,d[N];bool ok(double L ,int n ,int k)
{double sum = 0;for(int i = 1 ;i <= n ;i ++)d[i] = a[i] - L * b[i];sort(d + 1 ,d + n + 1 ,camp);for(int i = 1 ;i <= n - k ;i ++)sum += d[i];return sum >= 0;
}int main ()
{int n ,k ,i;while(~scanf("%d %d" ,&n ,&k) && n + k){for(i = 1 ;i <= n ;i ++)scanf("%lf" ,&a[i]);for(i = 1 ;i <= n ;i ++)scanf("%lf" ,&b[i]);double low ,up ,mid ,ans = 0;low = 0 ,up = INF;while(up - low >= eps){mid = (low + up) / 2;if(ok(mid ,n ,k))ans = low = mid;elseup = mid;}ans *= 100;printf("%.0lf\n" ,ans);}return 0;
}

POJ 2976 01分数规划基础题目相关推荐

  1. POJ 2728 01分数规划

    题意: 最优比率生成树,要求生成树中的所有边的花费与所有边的长度的比值最小 题解: 01分数规划,详见http://www.cnblogs.com/proverbs/archive/2013/01/0 ...

  2. ZOJ - 2676 Network Wars(01分数规划+最小割)

    题目链接:点击查看 题目大意:给出一个 n 个点和 m 条边组成的无向带权图,现在需要求一个将点 1 和点 n 分开的割集 C ,使得 最小 题目分析:分数式为总权值比上边的数量,换句话说就是一条边只 ...

  3. poj 2976 基础01分数规划

    这个题算是01分数规划的最基本的应用了, 01分数规划是给你n对数(a1, b1)....(an, bn), 然后让你选择一些数对, 使得sigma(ai)/sigma(bi)最大.这里附上讲解一份, ...

  4. poj 2976 Dropping tests 01分数规划

    题目大意: http://poj.org/problem?id=2976 题解: 裸的01分数规划 #include <cstdio> #include <cstring> # ...

  5. 二分+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} ...

  6. poj 3621 Sightseeing Cows 01分数规划

    题目大意: http://poj.org/problem?id=3621 题解: 首先我们容易发现最优的路线一定只经过一个环. 所以我们可以把点权合并到边权上. 然后就转化为了一个01分数规划问题 求 ...

  7. POJ-3621 Sightseeing Cows 最优比率环、01分数规划

    题目链接:http://poj.org/problem?id=3621 这题是01分数规划问题,详细资料点这里.有了01分数规划的基础后,这个题目就很简单了.构建函数f(mid)=Σ(w[i]-mid ...

  8. POJ-2976 Dropping tests 01分数规划

    题目链接:http://poj.org/problem?id=2976 很典型的01分数规划,sort+二分即可.注意精度问题,这种四舍五入的问题一般都是两种处理方法:1.printf("% ...

  9. 转载二分 01 分数规划即最大化平均值的证明0/1分数规划、最优比率生成树、最优比率环

    首页 新随笔 联系 管理 订阅 随笔- 20  文章- 0  评论- 9 [Algorithm]01分数规划--Update:2012年7月27日 [关键字] 0/1分数规划.最优比率生成树.最优比率 ...

最新文章

  1. 程序员笔试面试后上机_2021年国考笔试成绩查询后,面试准备阶段需要做好四方面...
  2. OEL6.8安装虚拟带库模拟器
  3. 如何使用JDBC调用存储在数据库中的函数或存储过程 */
  4. Apache Bench安装与使用
  5. c++ queue学习
  6. 通用mapper如何处理多表条件查询通过list封装(强烈不推荐)(一对一,一对多)
  7. building tool
  8. 《数学建模:基于R》——1.1 数据的描述性分析
  9. gcc较高版本的一些编译警告收集
  10. flex里播放声音的方法
  11. 【翻译】GRAIL-手写识别
  12. 酒桌游戏c语言,拯救冷场,这十三款经典酒桌游戏你玩过几个?
  13. Microsoft Office 2016 简体中文 Vol 版镜像下载
  14. ajax submittype,AjaxSubmit()提交file文件
  15. 100个Python实战项目(十一)如何使用 Python 获取电话号码信息?
  16. 计算机网络基础知识题,计算机网络基础知识试题及答案
  17. 【超级详细的Vue安装与配置教程】
  18. AGV机器人核心部件——驱动轮
  19. windows11常用快捷键
  20. 为什么自动驾驶遇瓶颈,但自动代客泊车却很热?

热门文章

  1. Fragment第二次加载没有数据
  2. 5个强大的Java分布式缓存框架推荐
  3. HttpClient模拟http请求
  4. 安装PHP可能会出现的错误
  5. Silverlight学习笔记清单
  6. Python笔记_第四篇_高阶编程_正则表达式_3.正则表达式深入
  7. Linux(Ubuntu 16) 下Java开发环境的配置(一)------JDK的配置
  8. Redux学习(2) ----- 异步和中间件
  9. js中的apply()、call() 和 bind()
  10. Winform、WPF、Silverlight、MFC区别与联系