POJ - 2528 Mayor's posters
题目大意
有 T 组数据,每组数据有一个 N 表示有 N 个人一次贴海报
然后 N 对 表示一张海报的范围,问最后能看见多少张海报
数据范围:
题解
(开始英语不好看不懂题折腾了半天)
可以看出是线段树区改裸题
但是 ,直接改会
所以要离散化。
于是 (这题肯定要把一起离散)
但是要注意:设离散化数组为但存在时,要加入一个元素使得
不然的话,这两张海报中间其实是有间隙的,但离散化后就省去了
为了方便可以先插入到最后然后排序。线段树部分不做阐述
标
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char buf[100000],*L=buf,*R=buf;
inline char Gc() {
return L==R&&(R=(L=buf)+fread(buf,1,100000,stdin),L==R)?EOF:*L++;
}
inline int Rd() {
register int o=0;
char c=Gc();
for(;c<'0'||c>'9';c=Gc()) ;
for(;c>'/'&&c<':';c=Gc())o=(o<<1)+(o<<3)+(c^48);
return o;
}
void Write(int o) {
if(o>9)Write(o/10);
putchar(o%10+48);
}
int T,n,tot,cnt,ans,l[20005],r[20005],x[80005];
int cl[320005],vis[320005];
inline void Dw(int rt) {
if(!cl[rt])return;
cl[rt<<1]=cl[rt<<1|1]=cl[rt];
cl[rt]=0;
}
void Chan(int ql,int qr,int vl,int l,int r,int rt) {
if(ql<=l && r<=qr) {
cl[rt]=vl;
return;
}
Dw(rt);
register int mid=l+r>>1;
if(ql<=mid)Chan(ql,qr,vl,l,mid,rt<<1);
if(qr>mid)Chan(ql,qr,vl,mid+1,r,rt<<1|1);
}
void Query(int l,int r,int rt) {
if(cl[rt]) {
if(!vis[cl[rt]])
++ans,vis[cl[rt]]=1;
return;
}
if(l==r)return;
register int mid=l+r>>1;
Query(l,mid,rt<<1);
Query(mid+1,r,rt<<1|1);
}
int main() {
T=Rd();
while(T--) {
n=Rd(),tot=ans=0;
memset(vis,0,sizeof(vis));
memset(cl,0,sizeof(cl));
for(int i=1;i<=n;i++) {
l[i]=Rd(),r[i]=Rd();
x[++tot]=l[i],x[++tot]=r[i];
}
sort(x+1,x+tot+1);
cnt=unique(x+1,x+tot+1)-x-1;
int ttt=cnt;
for(int i=2;i<=ttt;i++)
if(x[i]-x[i-1]>1)x[++cnt]=x[i-1]+1;
sort(x+1,x+cnt+1);
for(int i=1,rx,ry;i<=n;i++) {
rx=lower_bound(x+1,x+cnt+1,l[i])-x;
ry=lower_bound(x+1,x+cnt+1,r[i])-x;
Chan(rx,ry,i,1,cnt,1);
}
Query(1,cnt,1);
Write(ans);
putchar(10);
}
}
本文作者:小蒟蒻laf
本文链接:https://www.cnblogs.com/KonjakLAF/p/14151549.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· SQL Server统计信息更新会被阻塞或引起会话阻塞吗?
· 本地部署 DeepSeek:小白也能轻松搞定!
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)
· 我们是如何解决abp身上的几个痛点
· 如何基于DeepSeek开展AI项目