![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
文章平均质量分 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 · 1240 阅读 · 0 评论 -
[CF 3B]Lorry[Greedy]
题意: 给出n个物品,背包容量为v; 每个物品体积ti为1或者2, 价值为pi 求背包中所能装物品的最大价值. 思路: 贪心:经过分析可以发现,拿物品的优先顺序是不会交换的----如果要拿此种物品,必然拿剩下的此种物品中单位价格最高的.同时考虑拿两种物品时,差异只在于拿物品的数量. 因此可以分别存储,降序排序后计算前i项和(i = 1 .. n),然后枚举进行匹配,最大的一组即原创 2013-08-06 15:54:28 · 983 阅读 · 0 评论 -
[CF 351A]Jeff and Rounding[greedy]
题意: 给出一个数列, 实数的, 共有偶数项. 选出两项, 其一向上取整, 另一向下取整. 得到新的整数数列. 某种取法可以使得新旧数列之间的差的绝对值最小. 求这个最小的绝对值. 思路: 这种题关键是找出规律.. 首先,随机选出一对非整数, old - new = sumof2 - 1. 由此可见, 选出一对非整数 和如何组合无关. 只要是认为某数和非整数组合, 就会有前式成立. 当选原创 2013-10-05 12:50:52 · 1660 阅读 · 0 评论