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 ...
随机推荐
- JavaI/O 系统
1.JavaI/O 系统概述 A. 输入输出(I/O):指的是计算机与外部世界,或者一个程序与计算机的其余部分之间的接口 B. 流的概念(流:Stream) 流的基本特性:有数据.有方向 2. 流的 ...
- python关于文件的操作
总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Pyth ...
- 14招搞定JavaScript调试
14招搞定JavaScript调试 译者按: 很多时候,大家可能只是依靠console.log来调试JavaScript代码,这样做的局限性不言而喻,这篇博客将教你几招实用的调试技巧. 原文: The ...
- python-day3 元组(tuple),列表(list),字典(dict)
1.元组 tuple 有序数据,元组数据不可更改,若元组中有列表,可更改元组中的列表值里的值 元组中以","分开,若只有一个值就不是元组 包含各种数据类型 索引取值:t(2,0.0 ...
- Android插件化原理解析——Hook机制之动态代理
转自 http://weishu.me/2016/01/28/understand-plugin-framework-proxy-hook/ 使用代理机制进行API Hook进而达到方法增强是框架的常 ...
- python--6、re模块
re模块 用于在正则表达式匹配操作. python中为了避免实现输出'\','\n'字符的转义问题(如正则表达式使用反斜杠" \ "来代表特殊形式或用作转义字符,这里跟Python ...
- Go Server Record
Centos Setup Go yum install glibc-headers gcc-c++ # 一键安装shadowsocks 1. wget --no-check-certificate - ...
- dubbo之结果缓存
结果缓存,用于加速热门数据的访问速度,Dubbo提供声明式缓存,以减少用户加缓存的工作量. lru 基于最近最少使用原则删除多余缓存,保持最热的数据被缓存. threadlocal 当前线程缓存,比如 ...
- 阿里巴巴矢量库IconFont__使用小录
使用阿里巴巴矢量库方法虽然不难,但本人记性不好,遂在次记录几笔 阿里巴巴矢量库地址:http://www.iconfont.cn/plus 阿里巴巴矢量库图标好处: 1:图标矢量化 2:自己总结:ic ...
- mysql 5.6 中 explicit_defaults_for_timestamp参数
mysql 5.6 中 explicit_defaults_for_timestamp参数 一: 官方文档中关于explicit_defaults_for_timestamp参数说明如下: expli ...