隐藏页面特效

Times[2017-01-25at JiNan]

Times
【问题描述 】
小 y 作为一名资深的 dotaer,对视野的控制有着深刻的研究。
每个单位在一段特定的时间内会出现在小 y 的视野内,除此之外的时间都在
小 y 看不到的地方。在小 y 看来,视野内的单位数量越多,他就越安全,因为这
意味着有可能藏在阴影中的单位就越少。
现在,小 y 已经知道了每个单位会在什么时候出现在视野内,他想知道,在
一段时间内,总共有多少个单位出现在他的视野内过。
【输入格式】
第一行有两个整数 n,m,表示一共有 n 个单位,而小 y 有 m 个问题。
接下来 n 行,每行两个数 a,b,表示这个单位 a 秒时出现在小 y 的视野内,
出现了 b 秒。
接下来 m 行,每行两个整数 x,y,表示从 x 秒开始,经过 y 秒,其中有多
少个单位出现过。
【输出格式】
m 行,即对于小 y 提出的每个问题的答案。
【输入样例 1】
3 2
2 5
0 10
5 8
0 6
8 2
【输出样例 1】

3
2
【输入样例 2】
1 2
0 10
9 1
10 1
【输出样例 2】
1
0
【数据范围】
30%的数据:
1<=n,m<=1000
100%的数据:
1<=n,m<=200000
1<=x,y,a,b<=maxlongint

 

/* * @Problem: Times * @Author: shenben * @Date: 2017-01-25 20:42:59 * @Analyse: (1)如果[a,b)和[c,d)不相交 则①要么b<=c;②要么d<=a (2)对于一个询问区间[c,d) 我们统计对n个已经给出的区间[a,b)出现这两种情况的次数 答案就是n-次数 */ #include<cstdio> #include<algorithm> using namespace std; #define O3 __attribute__((optimize("O3"))) #define IN inline O3 IN int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } const int N=2e5+5; struct node{ int pos,t,id; node(){} node(int pos,int t,int id):pos(pos),t(t),id(id){} bool operator <(const node &a)const{ return pos==a.pos?t<a.t:pos<a.pos; } }e[N<<2]; int n,m,cnt,ans[N],c[4]; O3 int main(){ freopen("times.in","r",stdin); freopen("times.out","w",stdout); n=read();m=read(); for(int i=0,x,y;i<n;i++){ x=read();y=read(); e[cnt++]=node(x,1,-1); e[cnt++]=node(x+y,2,-1); } for(int i=0,x,y;i<m;i++){ x=read();y=read(); e[cnt++]=node(x,3,i); e[cnt++]=node(x+y,0,i); } sort(e,e+cnt); for(int i=0;i<cnt;i++){ c[e[i].t]++; if(e[i].t==0) ans[e[i].id]+=c[1]; if(e[i].t==3) ans[e[i].id]-=c[2]; } for(int i=0;i<m;i++) printf("%d\n",ans[i]); return 0; }

 


__EOF__

本文作者shenben
本文链接https://www.cnblogs.com/shenben/p/6390612.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   神犇(shenben)  阅读(273)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示