题目传送门

 /*
题意:n个时刻点,m次时光穿梭,告诉的起点和终点,q次询问,每次询问t时刻t之前有多少时刻点是可以通过两种不同的路径到达
思维:对于当前p时间,从现在到未来穿越到过去的是有效的值,排个序,从大到小询问,那么之前添加的穿越点都是有效的,
用multiset保存。比赛时想到了排序,但是无法用线段树实现查询,stl大法好!
*/
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <set>
#include <iostream>
using namespace std; const int MAXN = 1e5 + ;
const int INF = 0x3f3f3f3f;
struct Year {
int u, v;
bool operator < (const Year &r) const {
return u > r.u;
}
}y[MAXN];
struct Query {
int p, id;
bool operator < (const Query &r) const {
return p > r.p;
}
}q[MAXN];
int ans[MAXN];
int a[];
int n, m, l; int main(void) { //ZOJ Monthly, July 2015 - H Twelves Monkeys
//freopen ("H.in", "r", stdin); while (scanf ("%d%d%d", &n, &m, &l) == ) {
for (int i=; i<=m; ++i) {
scanf ("%d%d", &y[i].u, &y[i].v);
}
for (int i=; i<=l; ++i) {
scanf ("%d", &q[i].p); q[i].id = i;
} sort (y+, y++m); sort (q+, q++l);
multiset<int> S; int j = ;
for (int i=; i<=l; ++i) {
while (j <= m && y[j].u >= q[i].p) {
S.insert (y[j].v); j++;
}
multiset<int>::iterator it; int cnt = ;
for (it=S.begin (); it!=S.end (); ++it) {
a[++cnt] = *(it); if (cnt == ) break;
}
if (cnt == && a[] <= q[i].p) ans[q[i].id] = q[i].p - a[];
else ans[q[i].id] = ;
}
for (int i=; i<=l; ++i)
printf ("%d\n", ans[i]);
} return ;
}

最新文章

  1. ASP------如何读取文件内容
  2. DNS分别在什么情况下使用UDP和TCP
  3. C# conn.open() 外部表不是预期的格式( 读取EXCEL文件出错)
  4. 让mingw gdb支持STL,并自动load .gdbinit
  5. Atitit.atiInputMethod&#160;v2词库清理策略工具&#160;&#160;&#160;&#160;q229
  6. 国际制造执行系统(MES)应用与发展
  7. jquery的jquery c.browser msie undefined的问题解决办法
  8. sql中用逗号拼接字符串
  9. jquery判断复选框是否选中
  10. careercup-栈与队列 3.3
  11. hdu_5711_Ingress(TSP+贪心)
  12. Xamarin组件包 Xamarin.ToolKit第二波
  13. Akka(21): Stream:实时操控:人为中断-KillSwitch
  14. jQuery对象和DOM对象和字符串之间的转化
  15. JSON Web Token入门教程
  16. 超简单(两步)-微信怎么实现打开外部浏览器,下载app,打开网页URL
  17. C++模板参数类型(转载)
  18. HDU 1010生成树
  19. C# 连接PDA扫码枪
  20. 未能加载文件或程序集“XX.XXX.Web”或它的某一个依赖项。试图加载格式不正确的程序

热门文章

  1. 【NOIP2017练习】跳跃切除子序列(模拟)
  2. Java高概率面试题目—finally
  3. DNS域名服务器配置
  4. linux ftp服务器搭建
  5. poj——3687 Labeling Balls
  6. Java DynamoDB 增加、删除、修改、查询
  7. IDUtil 永不重复的ID
  8. php7.3源码编译
  9. C# 图片识别(支持21种语言)转
  10. js下载