题目: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. IOS开发-cell的动态高度

    tableView中自定义cell的高度随子控件的内容动态变化,也是用的非常多的地方.现在就来处理一个自定义一个里面有文字(多少不定),图片(有无不定)的cell 首先要准备两个模型,一个是存放数据的 ...

  2. 遇到 Error creating the Web Proxy specified in the 'system.net/defaultProxy' configuration section的解决办法

    用记事本编辑*.EXE.config,在“<system.net>”节点加入<defaultProxy> <proxy usesystemdefault="Fa ...

  3. LintCode "Coins in a Line"

    Recursion + Memorized Search(DP). And apparently, the code below can be iterative with only 3 vars - ...

  4. httpd安装

    1.软件准备 http://apache.fayea.com/apache-mirror//apr/apr-1.5.1.tar.gz http://apache.fayea.com/apache-mi ...

  5. 连接数据库的URL等于多少?

    JDBC编程步骤如下: 1.加载驱动 Class.forname(driverClass); 比如:加载MySQL的驱动 Class.forname("com.mysql.jdbc.Driv ...

  6. C#生成二维码示例

    其实现在二维码越来越流行,网上也有很多生成二维码的类库.写一下WEB生成二维码注意事项吧! 目前C#生成二维码大部分都是使用ThoughtWorks.QRCode或者ZXing类库生成,主要说一下Th ...

  7. 使用NSOperation使用,创建线程中传递多个参数

    参考:http://blog.csdn.net/dqjyong/article/details/7677557 参考:http://stackoverflow.com/questions/232761 ...

  8. Java AES加密

    Java AES 加密 加密 /** * * @description 加密 * * @param content 需要加密的内容 * @param password 加密密码 * @return * ...

  9. 黄聪:WordPress 函数:apply_filters()(创建过滤器)

    apply_filters() 函数用来创建一个过滤器,大多数被用在函数中,是 WordPress 插件机制中非常重要的一个函数,能让其它的主题和插件对一个值进行修改过滤. 用法 apply_filt ...

  10. (C/C++) Callback Function 回调(diao)函数

    原文: http://www.codeguru.com/cpp/cpp/cpp_mfc/callbacks/article.php/c10557/Callback-Functions-Tutorial ...