贪心
文章平均质量分 71
iYUNDI
iYUNDI
展开
-
[hoj]数列极差问题
贪心。关键是证明子问题最优即是总问题最优。可以考虑三个数的情况,易证选取最小的数擦除将得到最大数,vice versa 。故总体也是如此。用优先队列实现。STL自带仿函数greater#include #include using namespace std;int main(){ int n; while(scanf("%d",&n)&&n) {原创 2013-07-25 01:01:13 · 1228 阅读 · 0 评论 -
[CF 3B]Lorry[Greedy]
题意:给出n个物品,背包容量为v;每个物品体积ti为1或者2, 价值为pi求背包中所能装物品的最大价值.思路:贪心:经过分析可以发现,拿物品的优先顺序是不会交换的----如果要拿此种物品,必然拿剩下的此种物品中单位价格最高的.同时考虑拿两种物品时,差异只在于拿物品的数量.因此可以分别存储,降序排序后计算前i项和(i = 1 .. n),然后枚举进行匹配,最大的一组即原创 2013-08-06 15:54:28 · 967 阅读 · 0 评论 -
[CF 351A]Jeff and Rounding[greedy]
题意:给出一个数列, 实数的, 共有偶数项. 选出两项, 其一向上取整, 另一向下取整. 得到新的整数数列. 某种取法可以使得新旧数列之间的差的绝对值最小. 求这个最小的绝对值.思路:这种题关键是找出规律..首先,随机选出一对非整数, old - new = sumof2 - 1. 由此可见, 选出一对非整数 和如何组合无关. 只要是认为某数和非整数组合, 就会有前式成立.当选原创 2013-10-05 12:50:52 · 1656 阅读 · 0 评论