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 ...
随机推荐
- 【HDU 3663】 Power Stations
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=3663 [算法] 先建图,然后用Dancing Links求解精确覆盖,即可 [代码] #inclu ...
- B. Jeff and Periods(cf)
B. Jeff and Periods time limit per test 1 second memory limit per test 256 megabytes input standard ...
- CMS内容管理系统 -- WorkSpace
- TP5.x——聊天列表查询
前言 查询聊天列表,并返回最后一条聊天记录.这个有一个比较尴尬的点就是,一个是你主动发出的,一个是你接收的. 所以这个SQL会比较长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长 ...
- Hadoop一主一从部署(2)
Hadoop部署一主一从(2) 1.关闭防火墙和Linux守护进程 执行命令: iptables -F setenforce 0 2.对Hadoop集群进行初始化,在namenode(主机)上执行命令 ...
- HDU 1166 线段树模板&树状数组模板
HDU1166 上好的线段树模板&&树状数组模板 自己写的第一棵线段树&第一棵树状数组 莫名的兴奋 线段树: #include <cstdio> using nam ...
- IBMWebsphere 使用jar包删除文件
1. 先使用ant打包一个jar包,删除其他不要的目录和文件,仅保留一个空的xxx.war文件夹("xxx"对应was上的工程安装根目录) 2. 在文件夹下新建一个META-INF ...
- .htaccess的基本用法与介绍
●自定义错误页 .htaccess的一个应用是自定义错误页面,这将使你可以拥有自己的.个性化的错误页面(例如找不到文件时),而不是你的服务商提供的错误页或没有任何页面.这会让你的网站在出错的时候看上去 ...
- OpenVX
OpenVX openvx 1. 编译 尝试编译openvx_sample,下载相关代码. 下载的sample code直接使用make可以生成libopenvx.so. 使用python Buil ...
- HDU_5833_高斯消元
参考自:http://www.cnblogs.com/flipped/p/5771492.html 自己做的时候不知道如何求种数.看了题解,感觉思路灰常巧妙.同时也感觉这是一道好题. 精髓在于转化为线 ...