http://poj.org/problem?id=2528

这个题有个细节,整个区间的长度为10000000,而n最大只有1000,所以我们要进行离散化。

 #include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 10010
using namespace std; bool tab[maxn];
int l[maxn],r[maxn],x[maxn*],num[maxn*],tree[maxn*];
int c,n; int binary_search1(int sum)
{
int l=,r=*n;
while(l<=r)
{
int mid=(l+r)/;
if(x[mid]<=sum)
l=mid+;
else
r=mid-;
}
return num[r];
} void update(int i)
{
if(!tree[i])
return ;
tree[i+i]=tree[i+i+]=tree[i];
tree[i]=;
}
void change(int tl,int tr,int l,int r,int i,int co)
{
if(tl>r||tr<l) return ;
if(tl<=l&&r<=tr)
{
tree[i]=co;
return ;
}
update(i);
int mid=(l+r)/;
change(tl,tr,l,mid,i+i,co);
change(tl,tr,mid+,r,i+i+,co);
}
int require(int l,int r,int i)
{
int mid=(l+r)/;
if(tree[i])
{
if(!tab[tree[i]])
{
tab[tree[i]]=;
return ;
}
return ;
}
if(l==r)
return ;
return require(l,mid,i+i)+require(mid+,r,i+i+);
}
void init()
{
scanf("%d",&n);
for(int i=; i<=n; i++)
{
scanf("%d%d",l+i,r+i);
x[i*-]=l[i];x[i*-]=r[i];x[i*]=(l[i]+r[i])/;
}
sort(x+,x+*n+);
memset(num,,sizeof(num));
for(int i=; i<=*n; i++)
{
num[i]=num[i-];
if(x[i]!=x[i-]) num[i]++;
}
for(int i=; i<=n; i++)
{
l[i]=binary_search1(l[i]);
r[i]=binary_search1(r[i]);
}
} void solve()
{
memset(tree,,sizeof(tree));
for(int i=; i<=n; i++)
{
change(l[i],r[i],,*n,,i);
}
memset(tab,,sizeof(tab));
int ans=require(,*n,);
printf("%d\n",ans);
} int main()
{
scanf("%d",&c);
while(c--)
{
init();
solve();
}
return ;
}

poj 2528Mayor's posters的更多相关文章

  1. Poj 2528-Mayor's posters 线段切割

      题目:http://poj.org/problem?id=2528 Mayor's posters Time Limit: 1000MS   Memory Limit: 65536K Total ...

  2. POJ - 2528Mayor's posters (离散化+线段树区间覆盖)

    The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign h ...

  3. POJ 2528 Mayor's posters

    Mayor's posters Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Sub ...

  4. POJ 2528 Mayor's posters(线段树+离散化)

    Mayor's posters 转载自:http://blog.csdn.net/winddreams/article/details/38443761 [题目链接]Mayor's posters [ ...

  5. poj 2528 Mayor's posters(线段树+离散化)

    /* poj 2528 Mayor's posters 线段树 + 离散化 离散化的理解: 给你一系列的正整数, 例如 1, 4 , 100, 1000000000, 如果利用线段树求解的话,很明显 ...

  6. POJ 2528 Mayor's posters(线段树区间染色+离散化或倒序更新)

    Mayor's posters Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 59239   Accepted: 17157 ...

  7. poj 2528 Mayor's posters 线段树+离散化技巧

    poj 2528 Mayor's posters 题目链接: http://poj.org/problem?id=2528 思路: 线段树+离散化技巧(这里的离散化需要注意一下啊,题目数据弱看不出来) ...

  8. POJ 2528 - Mayor's posters - [离散化+区间修改线段树]

    题目链接:http://poj.org/problem?id=2528 Time Limit: 1000MS Memory Limit: 65536K Description The citizens ...

  9. POJ:2528(Mayor's posters)离散化成段更新+简单哈希

    http://poj.org/problem?id=2528 Description The citizens of Bytetown, AB, could not stand that the ca ...

随机推荐

  1. 安卓ListView操作的两种方法

    举例做一个微信的中间部分(好友消息等信息通知) 第一种:BaseAdapter() package com.example.wx; import java.util.ArrayList;import ...

  2. Struts2中OGNL

    什么是OGNL OGNL:Object Graph Navigation Language  对象导航图语言 开源项目,取代页面中Java脚本,简化数据访问 和EL同属于表达式语言,但功能更为强大 让 ...

  3. Android 解屏幕锁与点亮屏幕(来电时效果)

    PowerManager pm=(PowerManager) getSystemService(Context.POWER_SERVICE); //获取电源管理器对象 PowerManager.Wak ...

  4. 监控 Linux 性能的 18 个命令行工具

    http://www.oschina.net/translate/command-line-tools-to-monitor-linux-performance 1.Top-Linux进程监控 Lin ...

  5. 《Android开发艺术探索》读书笔记 (2) 第2章 IPC机制

    2.1 Android IPC简介 (1)任何一个操作系统都需要有相应的IPC机制,Linux上可以通过命名通道.共享内存.信号量等来进行进程间通信.Android系统不仅可以使用了Binder机制来 ...

  6. 修改Calendar(梅花雨)日历控件 兼容IE9 谷歌 火狐

    修改Calendar日历控件 兼容IE9,谷歌,火狐. 只是能用,出现的位置有所不同,希望有高手再帮我改改吧,谢谢   一. [javascript]   this.iframe     = wind ...

  7. 解析JavaScript中apply和call以及bind

    函数调用方法 在谈论JavaScript中apply.call和bind这三兄弟之前,我想先说下,函数的调用方式有哪些: 作为函数 作为方法 作为构造函数 通过它们的call()和apply()方法间 ...

  8. C# 汉字的字符串截取指定字节的长度

    int index = 0;            int setCharCount = 74;            string str1 = "三星 SCH-I829 电信3G手机(优 ...

  9. mac在 aliyun linux ecs实例上安装 jdk tomcat mysql

    用了一个ftp 工具 把 gz rpm 等 传递到ecs 上 -- 用这个Transmit 用ssh远程登录,然后依次安装 jdk tomcat  mysql 到 /usr/local/... 设置环 ...

  10. RAC检查各资源