ZOJ-3953 Intervals,t
题意:给出n个区间,求最少删除多少个区间使得任意三个区间都不相交。
思路:按区间左端点排序,每次选取r最大的两个与当前比较,如果能放更新r,否则删除r最大的。关键就在怎么删除r最大的,我们可以再定义一个排序数组,按r排序即可,然后比较。
struct node
{
int l,r,id;
} v[5],a[N];
int b[N];
bool cmp(node x,node y)
{
if(x.l==y.l) return x.r<y.r;
return x.l<y.l;
}
bool cmp2(node a,node b)
{
return a.r>b.r;
}
bool judge(node i,node j,node k)
{
int f=0;
if(i.r>=j.l&&i.r>=k.l) f++;
if(j.r>=k.l) f++;
return f==2;
}
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
memset(b,0,sizeof(b));
scanf("%d",&n);
for(int i=1; i<=n; i++) scanf("%d%d",&a[i].l,&a[i].r),a[i].id=i;
sort(a+1,a+n+1,cmp);
v[0]=a[1],v[1]=a[2];
int len=0;
for(int i=3; i<=n; i++)
{
v[2]=a[i];
sort(v,v+3,cmp);
int f=judge(v[0],v[1],v[2]);
sort(v,v+3,cmp2);
if(f)//相交
{
b[len++]=v[0].id;
swap(v[0],v[2]);//删除r最大的;
}
}
sort(b,b+len);
printf("%d\n",len);
for(int i=0; i<len; i++)
printf("%d ",b[i]);
printf("\n");
}
return 0;
}
ZOJ-3953 Intervals,t的更多相关文章
- ZOJ - 3953 Intervals 【贪心】
题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3953 题意 给出N个区间,求去掉某些区间,使得剩下的区间中,任何 ...
- ZOJ 3953 Intervals
线段树,排序. 按照$R$从小到大排序之后逐个检查,如果$L$,$R$最大值不超过$2$,那么就把这个区间放进去,区间$+1$,否则不能放进去. #include<bits/stdc++.h&g ...
- Intervals ZOJ - 3953 (区间贪心)
Chiaki has n intervals and the i-th of them is [li, ri]. She wants to delete some intervals so that ...
- ZOJ 3953:Intervals(优先队列+思维)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5572 题意:给出n个线段,问最少删除几个线段可以使得任意一个点不会被三个以上的 ...
- POJ 1201 & HDU1384 & ZOJ 1508 Intervals(差分约束+spfa 求最长路径)
题目链接: POJ:http://poj.org/problem?id=1201 HDU:http://acm.hdu.edu.cn/showproblem.php? pid=1384 ZOJ:htt ...
- 扫描线(线段树)+贪心 ZOJ 3953
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5572 Intervals Time Limit: 1 Second ...
- zoj 1508 Intervals (差分约束)
Intervals Time Limit: 10 Seconds Memory Limit: 32768 KB You are given n closed, integer interva ...
- poj 1201/zoj 1508 intervals 差分约束系统
// 思路 : // 图建好后 剩下的就和上一篇的 火烧连营那题一样了 求得解都是一样的 // 所以稍微改了就过了 // 最下面还有更快的算法 速度是这个算法的2倍#include <ios ...
- zoj3953 Intervals 最大不重叠区间加强版 zoj排名第一~
Intervals Time Limit: 1 Second Memory Limit:65536 KB Special Judge Chiaki has n intervals ...
- zoj 1508 poj 1201 Intervals
差分约束系统. #include<cstdio> #include<cstring> #include<cmath> #include<vector> ...
随机推荐
- Struts功能详解 ——ActionServlet
ActionServlet类是Struts框架的内置核心控制器组件,它继承了javax.servlet.http.HttpServlet类.Struts的启动通常从 加载ActionServlet开始 ...
- JavaScript 的 parseInt 取整
http://www.neoease.com/javascript-get-integer-via-parseint/ JavaScript 是弱类型语言, 为了保证数值的有效性, 在处理数值的时候, ...
- 2015 ACM/ICPC Asia Regional Changchun Online Pro 1008 Elven Postman (BIT,dfs)
Elven Postman Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
- UVA11212 EditingaBook ( IDA*搜索)
首先说说IDS,就DFS限定一个层数上限maxd,如果在maxd范围内没有找到解,就增加maxd,继续搜索. 当访问到当前结点u时,估计还要搜索h(u)层,如果h(u)+当前层数d>maxd的时 ...
- Opencascade术语笔记。
1. chamfer 倒角 vs fillet 圆角: 2.boolean operatiron(布尔操作): common(相加),fuse(相交),cut(相减): 3.depressions( ...
- javaweb基础(19)_jsp标签
一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...
- mysql 安装简介
Linux: 安装 [root @ localhost ~]# yum install mysql-server 设定为开机自动启动 [root @ localhost ~]# chkconfig m ...
- iOS 后台传输服务
后台传输服务 — 我们用水壶来比喻 (0:14) 后天传输服务是 iOS 7 引进的 API,它准许应用暂停或者中止之后,在后台继续执行网络服务(比如下载或者上传).举个例子,这正是 Dropbox ...
- 【NOIP提高A组模拟2018.8.14】 区间
区间加:差分数组修改 O(n)扫描,负数位置单调不减 #include<iostream> #include<cstring> #include<cstdio> # ...
- nginx下配置laravel+rewrite重写
server { listen ; server_name ha.d51v.cn; #access_log /data/wwwlogs/access_nginx.log combined; root ...