POJ2528 Mayor's posters线段树
来源:互联网 发布:linux 上传hdfs 编辑:程序博客网 时间:2024/06/14 07:25
用线段树解题。。。刚开始不知道要离散化这些点,只感觉开的数组太大了。。。Orz。。一开始运行就把电脑卡爆了!
后来再网上搜了一个,说是要离散化这些点。。。其实就是把原数据给映射到1——t。因为输入的数据组不多,而数字范围太大了。
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define INF 100000007int setv[100000],b[20010],n,vis[10001],ans;struct node{int no;int num;}a[20003];bool cmp(node &t,node &b){return t.num <b.num;}void pushdown(int rt,int l,int r){if(setv[rt]){setv[rt*2]=setv[rt*2+1]=setv[rt];setv[rt]=0;}}void update(int rt,int l,int r,int u,int v,int i){if(u<=l&&r<=v){setv[rt]=i;//懒惰标记。return;}pushdown(rt,l,r);int mid=(l+r)>>1;if(u<=mid)update(rt*2,l,mid,u,v,i);if(v>mid)update(rt*2+1,mid+1,r,u,v,i);}void query(int rt,int l,int r){int mid=(l+r)>>1;if(!setv[rt]){query(rt*2,l,mid);query(rt*2+1,mid+1,r);}else{if(!vis[setv[rt]]){vis[setv[rt]]=1;ans++;}}}int main(){int T;scanf("%d",&T);while(T--){memset(setv,0,sizeof(setv));scanf("%d",&n);memset(vis,0,sizeof(vis[0])*(n+1));int i,k=1,j;for(i=1;i<=n;i++){scanf("%d%d",&a[k].num,&a[k+1].num);a[k].no=k;k++;a[k].no=k;k++;}sort(a+1,a+k,cmp);int temp=-1,count=1;for(i=1;i<k;i++)if(temp!=a[i].num){b[a[i].no]=count++;temp=a[i].num;}else b[a[i].no]=count-1;j=1;for(i=1;i<=n;i++){update(1,1,count-1,b[j],b[j+1],i);j+=2;}ans=0;query(1,1,count-1);printf("%d\n",ans);}return 0;}
0 0
- Poj2528 Mayor's posters (线段树)
- poj2528 Mayor's posters 【线段树】
- POJ2528 Mayor's posters线段树
- POJ2528 Mayor's posters 线段树
- 线段树之POJ2528 Mayor's posters
- Mayor's posters poj2528 线段树
- POJ2528 Mayor's posters(线段树)
- 线段树 poj2528 Mayor's posters
- 【POJ2528】Mayor's posters ||【NYOJ9】 (线段树)
- POJ2528:Mayor's posters(线段树区间更新+离散化)
- poj2528--Mayor's posters(线段树+离散化)
- poj2528 Mayor's posters(线段树+离散化)
- poj2528 Mayor's posters,线段树,离散化
- poj2528 Mayor's posters(线段树,离散化)
- poj2528 Mayor’s posters 线段树+离散化
- Mayor's posters(线段树+离散化POJ2528)
- POJ2528 Mayor's posters 线段树区间更新+离散化
- poj2528 Mayor's posters 线段树+离散化
- JBOSS EAP 6 系列六 异步Bean
- Linux删除乱码文件
- 新闻事件
- 解决fragment+viewpager第二次进入的时候没有数据的问题
- 结构体和字节转换
- POJ2528 Mayor's posters线段树
- Socket.IO入门
- 地址无关代码
- 嵌入式编程中的常用技巧
- 装饰设计模式
- windows 硬盘对拷
- 人脸识别技术资料和源码(包含人脸库)
- 学习嵌入式书籍推荐
- java枚举的使用