题目:http://poj.org/problem?id=2376

  英文题强行看不懂,只看的懂输入输出,输入n,m,下接n行每行一个区间两个数左端点 l,有端点 r

  给出n个闭区间,求选择最少的区间能够完全覆盖[1,m]

  经典的区间覆盖问题,按左端点升序排序

  首先当前卡点为1,选择小于等于当前卡点的,尽量往右边扩

  直到大于当前卡点,再将卡点设为右边能扩展到的最大值

  统计答案,注意闭区间和左端点最小区大于 1 的情况

 #include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<ctime>
#include<queue>
#include<stack>
#define fre(x) freopen(x".in","r",stdin);freopen(x".out","w",stdout)
typedef long long LL;
typedef double db;
using namespace std; const int oo=,TL=,N=;
struct line
{
int l,r;
}
a[N];
inline bool cmp(line x,line y)
{
return x.l<y.l;
}
int main()
{
int n,m,i,k,x,ans=,j;
scanf("%d%d",&n,&m);
for (i=;i<=n;i++) scanf("%d%d",&a[i].l,&a[i].r);
sort(a+,a++n,cmp);
for (k=x=i=j=;i<=n;j=i)
{
while (a[i].l<=k&&i<=n&&x<m) x=max(x,a[i++].r);
ans++;
if ((k=x+)>m||i==j) break;
}
printf("%d\n",k<=m?-:ans);
return ;
}

  本来以为水贪心可以一边A,结果交了七八遍全WA

  就到网上去下标程拍,修改了2次之后把标程给拍WA了,自己A掉了(233333333333)

  网上的题解也是错的一大片啊~欢迎 Hack

版权所有,转载请联系作者,违者必究

联系方式:http://www.cnblogs.com/hadilo/p/5932395.html

POJ2376_Cleaning Shifts_C++的更多相关文章

随机推荐

  1. (转)mongodb分片

    本文转载自:http://www.cnblogs.com/huangxincheng/archive/2012/03/07/2383284.html 在mongodb里面存在另一种集群,就是分片技术, ...

  2. bzoj2764 基因补全

    Description 在生物课中我们学过,碱基组成了DNA(脱氧核糖核酸),他们分别可以用大写字母A,C,T,G表示,其中A总与T配对,C总与G配对.两个碱基序列能相互匹配,当且仅当它们等长,并且任 ...

  3. 原生视觉差滚动---js+css;

    <!doctype html> <html> <head> <meta http-equiv="Content-Type" content ...

  4. MySql5.6 Window超详细安装教程

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 目录 一.安装包准备二.开始安装三.验证安装四.客户端工具 一.安装包准备 1.下载MySql ...

  5. java: org.luaj.vm2.LuaError:XXX module not found lua脚本初始化出错

    我遇到这个错误是因为在引用脚本目录时,设置错了位置.设置成脚本所在目录的上级目录. lua使用和加载初始化方法 在java中使用lua,使用需要引用 luaj-jse-2.0.2.jar 同时需要使用 ...

  6. HDU 4539 郑厂长系列故事――排兵布阵(曼哈顿距离)

    这虽然是中文题,然而没看懂,不懂的地方,就是在曼哈顿距离这块,网上搜索了一下,写了个程序,是测试曼哈顿距离的. 曼哈顿距离:两点(x1,y1)(x2,y2)的曼哈顿距离为|x1-x2|+|y1-y2| ...

  7. 转--Android实现ListView过滤功能,继承于BaseAdapter,非ArrayAdapter。

    其实实现ListView过滤功能最方便的便是使用ArrayAdapter,里面自带的getFilter()方法能很方便的实现此功能,但是在实际的开发中,一般都是继承于BaseAdapter.还有一种是 ...

  8. jq鼠标点击滚动锚点

    鼠标点击滚动锚点 //滚动锚点 $('.menus-c ul li a').click(function(){ //alert(); $('html, body').animate({ scrollT ...

  9. redis info命令详解

    以一种易于解释(parse)且易于阅读的格式,返回关于 Redis 服务器的各种信息和统计数值. 通过给定可选的参数 section ,可以让命令只返回某一部分的信息: server : 一般 Red ...

  10. ui与ux的区别