![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心算法
__WILL
努力!
展开
-
POJ 2376 Cleaning Shifts
题意 找到能覆盖全部区间范围的最小子区间数,没有则输出-1 题解 对区间按起点升序排序,起点相同则按终点升序排序。(排序后才可以用贪心,因为起点大的在已覆盖区间中时,那么起点小的一定也在,此时只要比较谁的终点大即可) 寻找最佳的子区间(区间的终点最远且起点在当前已覆盖区间的范围内),终止条件是:当前子区间的下一个子区间不在已覆盖区间范围内 更新当前已覆盖区间(变量now)原创 2016-01-29 00:37:23 · 290 阅读 · 0 评论 -
POJ 2393 Yogurt factory
题解 此周购买奶酪价格 减去 一周的存储费用,和上一周的购买价格比较,若大于,则说明上一周存储后的花费比此周直接购买所有奶酪价格低。 用(cost[i]-S ,cost[i]-2*S…)继续和之前的周比较,找到花费最少的周 代码#include <iostream> using namespace std; const int MAXN = 10000000; long long原创 2016-01-29 22:51:20 · 315 阅读 · 0 评论 -
POJ 1065
题意 若木棍长度和权值是升序( l <= l’ and w <= w’),那么这一个序列的安装时间是一分钟。问如何排序木棍使安装时间最短 题解 将木棍长度排序,然后找权值的升序序列。 代码#include <iostream> #include <algorithm> #include <cstring> using namespace std; const int MAXN = 10000原创 2016-01-31 14:01:57 · 289 阅读 · 0 评论