3111专题

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

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

链接:NYOJ:click here, POJ:click here 题意:(最大化平均值,挑战编程P143) 有n个物品的重量和价值分别是w[i]和v[i],从中选出K个物品使得单位重量的价值最大。(1<=k<=n<=10^41<=w[i],v[i]<=10^6) 一般想到的是按单位价值对物品排序,然后贪心选取,但是这个方法是错误的,比如对nyoj的例题来说,从大到小地进行选取,输入的

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

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

【51nod】3111 小明爱拦截

小明爱拦截 Link 解题思路 导弹拦截的一半操作,求最长不上升子序列。 每个数取负,当成最长不下降子序列来做。 贪心把每个数塞入序列中,二分找位置或加入尾部、答案 + + ++ ++。 code #include<algorithm>#include<iostream>#include<cstdio>using namespace std;int n,ans,t;in