D - Mayor's posters
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define M 10000010
#define MAXN 10010
using namespace std;
int t,n,m,tot,ans;
int x[MAXN],y[MAXN];
int pos[M],hash[MAXN*];
struct nond{
int l,r,flag;
}tree[MAXN*];
void build(int now,int l,int r){
tree[now].l=l;tree[now].r=r;
if(tree[now].l==tree[now].r){
tree[now].flag=;return ;
}
int mid=(tree[now].l+tree[now].r)/;
build(now*,l,mid);
build(now*+,mid+,r);
}
void down(int now){
tree[now*].flag=tree[now].flag;
tree[now*+].flag=tree[now].flag;
tree[now].flag=;
}
void change(int now,int l,int r,int x){
if(tree[now].l==l&&tree[now].r==r){
tree[now].flag=x;
return ;
}
if(tree[now].flag==x) return ;
if(tree[now].flag) down(now);
int mid=(tree[now].l+tree[now].r)/;
if(r<=mid) change(now*,l,r,x);
else if(l>mid) change(now*+,l,r,x);
else{ change(now*,l,mid,x);change(now*+,mid+,r,x); }
}
void query(int now){
if(tree[now].flag){
if(!pos[tree[now].flag]) ans++;
pos[tree[now].flag]=;return ;
}
if(tree[now].l==tree[now].r) return ;
int mid=(tree[now].l+tree[now].r)/;
query(now*);query(now*+);
}
int findhash(int now){
int l=,r=tot;
while(l<=r){
int mid=(l+r)/;
if(hash[mid]<now) l=mid+;
else r=mid-;
}
return l;
}
int main(){
scanf("%d",&t);
while(t--){
scanf("%d",&n);ans=;
for(int i=;i<=n;i++){
scanf("%d%d",&x[i],&y[i]);
pos[++m]=x[i];pos[++m]=y[i];
}
sort(pos+,pos++m);
m=unique(pos+,pos++m)-(pos+);
hash[++tot]=pos[];
for(int i=;i<=m;i++){
if(pos[i]-pos[i-]>) hash[++tot]=pos[i-]+;
hash[++tot]=pos[i];
}
memset(pos,,sizeof(pos));
build(,,tot);
for(int i=;i<=n;i++){
int l=findhash(x[i]);
int r=findhash(y[i]);
change(,l,r,i);
}
query();printf("%d\n",ans);
m=;tot=;memset(pos,,sizeof(pos));
}
}
D - Mayor's posters的更多相关文章
- POJ 2528 Mayor's posters
Mayor's posters Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Sub ...
- POJ 2528 Mayor's posters(线段树+离散化)
Mayor's posters 转载自:http://blog.csdn.net/winddreams/article/details/38443761 [题目链接]Mayor's posters [ ...
- poj 2528 Mayor's posters(线段树+离散化)
/* poj 2528 Mayor's posters 线段树 + 离散化 离散化的理解: 给你一系列的正整数, 例如 1, 4 , 100, 1000000000, 如果利用线段树求解的话,很明显 ...
- POJ 2528 Mayor's posters(线段树/区间更新 离散化)
题目链接: 传送门 Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Description The citizens of By ...
- Mayor's posters(线段树+离散化POJ2528)
Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 51175 Accepted: 14820 Des ...
- poj2528 Mayor's posters(线段树之成段更新)
Mayor's posters Time Limit: 1000MSMemory Limit: 65536K Total Submissions: 37346Accepted: 10864 Descr ...
- POJ 2528 Mayor's posters(线段树区间染色+离散化或倒序更新)
Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 59239 Accepted: 17157 ...
- poj-----(2528)Mayor's posters(线段树区间更新及区间统计+离散化)
Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 43507 Accepted: 12693 ...
- Poj 2528 Mayor's posters 分类: Brush Mode 2014-07-23 09:12 84人阅读 评论(0) 收藏
Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 40570 Accepted: 11798 ...
- POJ 2528 Mayor’s posters
Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 37982 Accepted: 11030 ...
随机推荐
- Codeforces--629A--Far Relative’s Birthday Cake(暴力模拟)
Far Relative's Birthday Cake Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d &a ...
- B1257 [CQOI2007]余数之和 数学,分块
这个题想明白之后很好做,但是不好想.我根本没想出来,上网看了一下才知道怎么做... 这个题其实得数是一个等差数列,然后一点点求和就行了. 上次NOIP就是没看出来规律,这次又是,下次先打表找规律!!! ...
- 试用php的ping命令
使用PHP自动PING IP,校检网络连接是否正常! <?php $server = 'ping kalvin.cn -n 1'; $last_line = exec($server, $arr ...
- hdu3652B-number(数位dp)
B-number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- Django day05 视图层之 (HttpRequest) \ (HttpResponse) \ (JsonResponse) 对象
一:视图层之HttpRequest对象 # 前台Post传过来的数据,包装到POST字典中 # request.POST # 前台浏览器窗口里携带的数据,包装到GET字典中 # request.GET ...
- python大杂铺
python中continue,break,return三者之间的区别 return 会直接令函数返回,所有该函数体内的代码都不再执行了,所以该函数体内的循环也不可能再继续运行. break:跳出 ...
- go的基础数据类型
一.基础数据类型 在go语言中,数据类型用于申明函数和变量 go语言的类型 数据类型 描述 布尔型 布尔型值的只能是true 和 false ,例如 var b bool = true, 布尔型值声明 ...
- mac下配置nginx
nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,下面我们来了解下nginx的用法. 安装nginx 使用brew安装nginx brew install ...
- OI知识点
- 易企CMS模板调用标签列表
格式化URL formaturl 参数:type (生成URL类型) 可选值:article,product,category,catalog,comment参数:siteurl (生成URL网站地址 ...