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 ...
随机推荐
- hdoj--5100--Chessboard(数学推理)
Chessboard Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...
- pandas把多个sheet读进一个DataFrame
#!/usr/bin/python import pandas as pd import collections df_dict = pd.read_excel('c:\data\machines.x ...
- Drainage Ditches(网络流(EK算法))
计算最大流,EK算法模板题. #include <stdio.h> #include <string.h> #include <queue> using names ...
- 【LuoguP5004】 专心OI - 跳房子
首先这是一道计数类DP,那我们得先推式子,经过瞎掰乱凑,经过认真分析,我们可以得到这样的方程 F(N)=F(0)+F(1)+....+F(N-M-1) 所有F初值为1,F(1)=2 ANS=F(N+M ...
- HBase、Hive、MapReduce、Hadoop、Spark 开发环境搭建后的一些步骤(export导出jar包方式 或 Ant 方式)
步骤一 若是,不会HBase开发环境搭建的博文们,见我下面的这篇博客. HBase 开发环境搭建(Eclipse\MyEclipse + Maven) 步骤一里的,需要补充的.如下: 在项目名,右键, ...
- 6.10---mybatis的实体---接口---接口映射---主配置文件
- 修改Switch 的颜色
1:效果图 2:布局 <Switch android:id="@+id/switch_bg" style="@style/switchStyle" and ...
- Cell期刊论文:为什么计算机人脸识别注定超越人类?(祖母论与还原论之争)
终于找到ML日报的微信链接,抄之...................................... 请拜访原文链接:[祖母论与还原论之争]为什么计算机人脸识别注定超越人类?评价: ...
- MFC 添加文件路径 遍历文件
.添加MFC选择文件路径,使用MessageBox显示信息. void CMyCalLawsDlg::OnBnClickedAddfolder() { wchar_t* p; wchar_t szPa ...
- Memcached 之缓存雪崩现象、实际案例和缓存无底洞现象
一.缓存雪崩现象 由于集群中某个memcached服务器宕机的原因,造成集群中的服务器命中率下降.只能通过访问数据库得到数据,是的数据库的压力倍增,造成数据库服务器崩溃.重启数据库还是会崩溃,但是数据 ...