题目描述

有一些区间,还有一些点。

问最小的k使得选出任意k个区间,每个点都可以匹配上区间,一个区间只能匹配一次。

题解

考虑对于每一个点,我们有\(x\)个区间包含它,那么答案的一个下界是\(n-x+1\)。

但是这样没有考虑到一个区间被两个点匹配的情况。

那么我们从左到右做,没到一个点,就把右端点最靠左的合法区间删掉,可以证明这也是下界且可以达到。

代码

#include<bits/stdc++.h>
using namespace std;
#define N 100002
typedef long long ll;
int c[N],n,m;
int cnt;
inline ll rd(){
ll x=0;char c=getchar();bool f=0;
while(!isdigit(c)){if(c=='-')f=1;c=getchar();}
while(isdigit(c)){x=(x<<1)+(x<<3)+(c^48);c=getchar();}
return f?-x:x;
}
struct node{
int l,r;
inline bool operator <(const node &b)const{
return r>b.r;
}
}a[N];
priority_queue<node>q;
inline bool cmp(node a,node b){
if(a.l!=b.l)return a.l<b.l;
return a.r>b.r;
}
inline void solve(){
while(!q.empty())q.pop();
n=rd();m=rd();
for(int i=1;i<=n;++i){
a[i].l=rd();a[i].r=rd();
}
for(int i=1;i<=m;++i)c[i]=rd();
sort(c+1,c+m+1);
sort(a+1,a+n+1,cmp);
int p=0;
int ans=0;
for(int i=1;i<=m;++i){
while(p<n&&a[p+1].l<=c[i])p++,q.push(a[p]);
while(!q.empty()&&q.top().r<c[i])q.pop();
ans=max(ans,n-(int)q.size()+1);if(q.size())q.pop();
}
++cnt;
if(ans>n)printf("Case #%d: IMPOSSIBLE!\n",cnt);
else printf("Case #%d: %d\n",cnt,ans);
}
int main(){
int T=rd();
while(T--)solve();
return 0;
}

最新文章

  1. 算法手记 之 数据结构(线段树详解)(POJ 3468)
  2. 当文本溢出包含的元素时加省略号之text-overflow
  3. 获取css style值
  4. LoadRunner - 当DiscuzNT遇上了Loadrunner(中) (转发)
  5. Java学习笔记(六):面向对象、接口和抽象类
  6. backboneJs 导图
  7. 对于观察者模式,Reactor模式,Proactor模式的一点理解
  8. 如何将DataTable转换成List&lt;T&gt;呢?
  9. SpringSecurity 在MVC 中的简单使用(翻译的,稍加改动)
  10. UIViewController的生命周期(图解)
  11. iOS 编译64位FFMPEG
  12. Android日语输入法Simeji使用示例
  13. 管理tips
  14. 像写C#一样编写java代码
  15. laravel框架cookie应用到中间件的理解
  16. 缺陷的背后---LIMIT M,N 分页查找
  17. Beta冲刺三
  18. 解决nginx发布网站跨目录访问
  19. L300 3月英语课下
  20. IDEA Maven项目 编译的问题

热门文章

  1. 如何将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
  2. 学习总结&amp;实验报告1
  3. mybatis使用map传递多参数报错:A query was run and no Result Maps were found for the Mapped Statement
  4. sql query执行的顺序
  5. webapi接口统一返回请求时间
  6. Tomcat 一台机器运行多个Tomcat
  7. django项目学习之异步框架celery
  8. 原生js事件委托(事件代理)方法扩展
  9. 洛谷 - P1522 - 牛的旅行 - Cow Tours - Floyd
  10. Maven clean install 跳过单元测试