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=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
const int N=2e5+;
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<<];
int n,m,cnt,ans[N],c[];
O3 int main(){
freopen("times.in","r",stdin);
freopen("times.out","w",stdout);
n=read();m=read();
for(int i=,x,y;i<n;i++){
x=read();y=read();
e[cnt++]=node(x,,-);
e[cnt++]=node(x+y,,-);
}
for(int i=,x,y;i<m;i++){
x=read();y=read();
e[cnt++]=node(x,,i);
e[cnt++]=node(x+y,,i);
}
sort(e,e+cnt);
for(int i=;i<cnt;i++){
c[e[i].t]++;
if(e[i].t==) ans[e[i].id]+=c[];
if(e[i].t==) ans[e[i].id]-=c[];
}
for(int i=;i<m;i++) printf("%d\n",ans[i]);
return ;
}
Times[2017-01-25at JiNan]的更多相关文章
- 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)
版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...
- Mysql Innodb 性能参数设置 https://www.rathishkumar.in/2017/01/how-to-allocate-innodb-buffer-pool-size-in-mysql.html
参考原文: https://www.rathishkumar.in/2017/01/how-to-allocate-innodb-buffer-pool-size-in-mysql.html 查看系统 ...
- java编程如何实现2017-01-16 22:28:26.0这样的时间数据,转换成2017:01:16:22:28:26这样的时间数据
不多说,直接上干货! timereplace.java package zhouls.bigdata.DataFeatureSelection.util; /* * 这个程序,是用来做补充的 */ p ...
- TIOBE.2017.01最新编程语言排行榜
Jan 2017 Jan 2016 Change Programming Language Ratings Change1 1 Java ...
- 2017 01 16 校内小测 ZXR专场
我等蒟蒻爆零之后,问LincHpin大爷:“此等神题可有甚么来头?” LincHpin:“此三题皆为当年ZXR前辈所留.” 固名之,ZXR专场,233~~~ T1 勤奋的YouSiki 这个题在BZO ...
- IntelliJ IDEA 2017.01配置jdk和tomcat
之前开发Web项目都是用myeclipse或者eclipse,最近想用IDEA这个编辑器去配置一个Web项目,因为是新手,加上对界面的操作不熟练,所以在配置的过程中遇到了一些难题.最后配置成功,并且可 ...
- Chetsheet: 2017 01.01 ~ 01.31
Web TypeScript: the missing introduction Async HTTP API and service bus Optimizing the Performance o ...
- ROS_Kinetic_01 在ubuntu 16.04安装ROS Kinetic 2017.01更新
ROS_Kinetic系列学习(一),在ubuntu 16.04安装ROS Kinetic. Celebrating 9 Years of ROS! ubuntu16.04已经发布半年多了,ROS的K ...
- EZ 2017 01 07 t
这名字诡异(然而就是这样) 这次主要是yekehe和yu‘ao都来了,所以很开心的讨论(上了200). 但是,yu’ao dalao又AK了!(666666) 不过总体难度也不高,主要是T3没思路. ...
- 2017/01/20 学习笔记 关于修改和重打jar包
背景 客户提供了jar包,但发现db表中缺少一个字段,db追加以后需要修改jar包中的source. 操作 如何修改jar包中的source并重新打一个新的jar包,做了如下操作. ① 开包 解压j ...
随机推荐
- dracut 基本介绍
dracut 维基 https://dracut.wiki.kernel.org/index.php/Main_Page http://www.360doc.com/content/13/042 ...
- POJ3086 Treats for the Cows(区间DP)
题目链接 Treats for the Cows 直接区间DP就好了,用记忆化搜索是很方便的. #include <cstdio> #include <cstring> #i ...
- 终极CRUD-3-用Jackson解析json
目录 1 jackson json基本介绍和使用 2 jackson 常用的注解 2.1@JsonProperty 2.2 @JsonIgnore 2.3 @JsonIgnoreProperties ...
- Linux笔记:crond
crontab中列出需要执行的命令及执行时间.由于指定的日期Day与星期Week不是相互包含的关系,而是有相交也有不相交的时间.当日期数与星期数均指定为确定值的时候,指令的执行时间到底是什么样的,之前 ...
- BZOJ 4197 NOI 2015 寿司晚宴
题面 Description 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴.小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴. 在晚宴上,主办方为大家提供了 n−1 ...
- selenium firefox46.0.1设置禁用图片
firefox_profile = webdriver.FirefoxProfile()firefox_profile.set_preference('permissions.default.ima ...
- AutoCAD如何快速标注零件序号
1 先画好一条直线和一个数字 2 选中刚才绘制的数字和直线,选择阵列(估计大概要画四十个就阵列四十行,改一下行偏移) 预览效果如图所示 随后不断重复直线即可 横向也是一样 最后双击 ...
- eclipse学习
网上转载,以作以后学习之用! eclipse学习 关键字: eclipse学习 1 eclipse插件安装方法(link方法) 一般插件包含一个eclipse目录,其下是features和plugin ...
- VueJS组件之间通过props交互及验证
props 是父组件用来传递数据的一个自定义属性.父组件的数据需要通过 props 把数据传给子组件,子组件需要显式地用 props 选项声明 "prop". 父组件通过props ...
- 六种基本DCDC变换器拓扑结构
1.SEPIC电路 2.