线段树,排序。

按照$R$从小到大排序之后逐个检查,如果$L$,$R$最大值不超过$2$,那么就把这个区间放进去,区间$+1$,否则不能放进去。

#include<bits/stdc++.h>
using namespace std; int T,n,sz;
int a[];
struct X { int L,R,id; }s[];
int f[],m[];
int P; bool cmp(X a,X b)
{
return a.R<b.R;
} int get(int x)
{
int ll=,rr=sz,res;
while(ll<=rr)
{
int mid = (ll+rr)/;
if(a[mid]>x) rr=mid-;
else if(a[mid]==x) return mid;
else ll=mid+;
}
} void pushDown(int rt)
{
if(f[rt]==) return ;
f[*rt]+=f[rt];
f[*rt+]+=f[rt];
m[*rt]+=f[rt];
m[*rt+]+=f[rt];
f[rt]=;
} void update(int L,int R,int val,int l,int r,int rt)
{
if(L<=l&&r<=R)
{
f[rt]+=val;
m[rt]+=val;
return ;
} pushDown(rt);
int mid = (l+r)/;
if(L<=mid) update(L,R,val,l,mid,*rt);
if(R>mid) update(L,R,val,mid+,r,*rt+);
m[rt] = max(m[*rt],m[*rt+]);
} void query(int L,int R,int l,int r,int rt)
{
if(L<=l&&r<=R)
{
P=max(P,m[rt]);
return ;
} pushDown(rt);
int mid = (l+r)/;
if(L<=mid) query(L,R,l,mid,*rt);
if(R>mid) query(L,R,mid+,r,*rt+);
m[rt] = max(m[*rt],m[*rt+]);
} void build(int l,int r,int rt)
{
m[rt] = ;
f[rt] = ;
if(l==r) return ; int mid = (l+r)/;
build(l,mid,*rt);
build(mid+,r,*rt+);
} int ans[],q; int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
sz=;
for(int i=;i<=n;i++)
{
scanf("%d%d",&s[i].L,&s[i].R);
sz++; a[sz]=s[i].L;
sz++; a[sz]=s[i].R;
} sort(a+,a++sz); for(int i=;i<=n;i++)
{
s[i].L=get(s[i].L);
s[i].R=get(s[i].R);
s[i].id=i;
} sort(s+,s++n,cmp); q=; build(,sz,); for(int i=;i<=n;i++)
{
P=;
query(s[i].L,s[i].R,,sz,);
if(P==)
{
ans[q++]=s[i].id;
continue;
}
else update(s[i].L,s[i].R,,,sz,);
} sort(ans,ans+q);
printf("%d\n",q);
for(int i=;i<q;i++)
{
printf("%d",ans[i]);
if(i<q-) printf(" ");
}
printf("\n"); }
return ;
}

ZOJ 3953 Intervals的更多相关文章

  1. ZOJ - 3953 Intervals 【贪心】

    题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3953 题意 给出N个区间,求去掉某些区间,使得剩下的区间中,任何 ...

  2. Intervals ZOJ - 3953 (区间贪心)

    Chiaki has n intervals and the i-th of them is [li, ri]. She wants to delete some intervals so that ...

  3. ZOJ 3953:Intervals(优先队列+思维)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5572 题意:给出n个线段,问最少删除几个线段可以使得任意一个点不会被三个以上的 ...

  4. POJ 1201 &amp; HDU1384 &amp; ZOJ 1508 Intervals(差分约束+spfa 求最长路径)

    题目链接: POJ:http://poj.org/problem?id=1201 HDU:http://acm.hdu.edu.cn/showproblem.php? pid=1384 ZOJ:htt ...

  5. 扫描线(线段树)+贪心 ZOJ 3953

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5572 Intervals Time Limit: 1 Second       ...

  6. zoj 1508 Intervals (差分约束)

    Intervals Time Limit: 10 Seconds      Memory Limit: 32768 KB You are given n closed, integer interva ...

  7. poj 1201/zoj 1508 intervals 差分约束系统

      // 思路 : // 图建好后 剩下的就和上一篇的 火烧连营那题一样了 求得解都是一样的 // 所以稍微改了就过了 // 最下面还有更快的算法 速度是这个算法的2倍#include <ios ...

  8. zoj3953 Intervals 最大不重叠区间加强版 zoj排名第一~

    Intervals Time Limit: 1 Second      Memory Limit:65536 KB      Special Judge Chiaki has n intervals ...

  9. zoj 1508 poj 1201 Intervals

    差分约束系统. #include<cstdio> #include<cstring> #include<cmath> #include<vector> ...

随机推荐

  1. static final修饰的静态变量修改后更新到服务器,重启无法生效的问题

    今天在工作中碰到这样一个问题,有一个常量类,将工程中常用的一些变量定义在了里面.今天我要修改其中的某个变量.修改完后将编译好的.class文件更新到了服务器上,但是重启服务器后发现始终没有变化,还是以 ...

  2. [LeetCode] 29. Divide Two Integers ☆☆

    Divide two integers without using multiplication, division and mod operator. If it is overflow, retu ...

  3. [LeetCode] 25. Reverse Nodes in k-Group ☆☆☆

    Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. k  ...

  4. [USACO14MAR] Counting Friends

    题目描述 Farmer John's N cows (2 <= N <= 500) have joined the social network "MooBook". ...

  5. 【BZOJ】3052: [wc2013]糖果公园 树分块+带修改莫队算法

    [题目]#58. [WC2013]糖果公园 [题意]给定n个点的树,m种糖果,每个点有糖果ci.给定n个数wi和m个数vi,第i颗糖果第j次品尝的价值是v(i)*w(j).q次询问一条链上每个点价值的 ...

  6. 推箱子 BFS

    [编程题] 推箱子 大家一定玩过“推箱子”这个经典的游戏.具体规则就是在一个N*M的地图上,有1个玩家.1个箱子.1个目的地以及若干障碍,其余是空地.玩家可以往上下左右4个方向移动,但是不能移动出地图 ...

  7. Linux 内核进程管理之进程ID【转】

    转自:http://www.cnblogs.com/hazir/p/linux_kernel_pid.html Linux 内核使用 task_struct 数据结构来关联所有与进程有关的数据和结构, ...

  8. curl基于URL的文件传输工具

    简介 cURL是一款开源的基于URL的文件传输工具,支持HTTP.HTTPS.FTP等协议,支持POST.cookie.认证.扩展头部.限速等特性. curl命令用途广泛,比如下载.发送http请求. ...

  9. mybatis注解使用

    spring整合mybatis时,要使用mybatis的注解,需要spring-config.xml文件中添加下述配置: <!--下述配置指明了我们的Mapper,即Dao,在相应的包里也就可以 ...

  10. [ python ] 购物系统

    作业需求 1. 购物系统,能够注册登录,用户第一次登录后,让用户输入金额,然后打印商品列表2. 允许用户根据商品编号购买商品3. 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒4. 购买完一 ...