当前位置: 首页 > 编程日记 > 正文

[JOISC2014]バス通学

[JOISC2014]バス通学

题目大意:

\(n(n\le10^5)\)个点和\(m(m\le3\times10^5)\)条交通线路。第\(i\)条交通线路可以让你在时间\(x_i\)\(a_i\)出发,并在\(y_i\)时到达\(b_i\)\(q(q\le10^5)\)次询问,每次询问若要在时间\(l_i\)到达\(n\)点,最晚什么时候要从\(1\)点出发。

思路:

将每条交通线路拆成两种操作:出发和到达。

\(f_i\)表示乘上第\(i\)辆车最晚几点出发,\(g_i\)表示到达第\(i\)个点最晚几点出发。

将所有操作按照发生的时间\(t_i\)排序,对于出发和到达,分别进行以下两种操作:

  1. 出发:询问\(g_{a_i}\)
  2. 到达:用\(f_i\)更新\(g_{b_i}\)

而对于最后的询问,也相当于第一种操作。

时间复杂度\(\mathcal O((m+q)\log(m+q))\)

源代码:

#include<cstdio>
#include<cctype>
#include<vector>
#include<algorithm>
inline int getint() {register char ch;while(!isdigit(ch=getchar()));register int x=ch^'0';while(isdigit(ch=getchar())) x=(((x<<2)+x)<<1)+(ch^'0');return x;
}
const int N=1e5+1,M=3e5;
int f[M*2],g[N];
struct Query {int x,t,id;bool type;//0->Start, 1->Endbool operator < (const Query &rhs) const {if(t==rhs.t) return type>rhs.type;return t<rhs.t;}
};
std::vector<Query> v;
int main() {const int n=getint(),m=getint();for(register int i=0;i<m;i++) {const int x=getint(),y=getint(),s=getint(),t=getint();v.push_back((Query){x,s,i,0});v.push_back((Query){y,t,i,1});}const int q=getint();for(register int i=0;i<q;i++) {v.push_back((Query){n,getint(),m+i,0});}const int k=v.size();std::sort(v.begin(),v.end());std::fill(&g[2],&g[n]+1,-1);for(register int i=0;i<k;i++) {const int &x=v[i].x,&id=v[i].id;if(v[i].type) {//Endg[x]=std::max(g[x],f[id]);} else {//Startf[id]=x!=1?g[x]:v[i].t;}}for(register int i=0;i<q;i++) {printf("%d\n",f[m+i]);}return 0;
}

转载于:https://www.cnblogs.com/skylee03/p/10112626.html

相关文章:

Windows7在Notepad++中配置Python+OpenCV

1、 从http://notepad-plus-plus.org/下载最新的Notepad6.2.1安装&#xff1b; 2、 从http://www.python.org/下载python-2.7.3.msi安装到D:\Python27目录下&#xff0c;并将D:\Python27添加到环境变量Path中&#xff1b; 3、 打开Notepad&#xff0c;按下F5或者运行(R…

virtualenv 在windows下的绿化方法

virtualenv 在windows下的绿化方法测试环境&#xff1a;windows 7 32 en Python 2.7.3setuptools-0.6c11.win32-py2.7virtualenv-1.9.1-with-pip-1.3.11. f:\> virtualenv my2. 编辑 my/Scripts/activate.bat 前几行中设置VIRTUAL_ENV的那条语句&#xff0c;改为set VIRTUA…

当谈论迭代器时,我谈些什么?

作者 | 樱雨楼编辑 | 豌豆花下猫转载自python猫&#xff08;ID:python_cat&#xff09;导语&#xff1a;之前说过&#xff0c;我对于编程语言跟其它学科的融合非常感兴趣&#xff0c;但我还说漏了一点&#xff0c;就是我对于 Python 跟其它编程语言的对比学习&#xff0c;也很感…

Windows7在Eclipse中配置Python+OpenCV

1. 从http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html下载jdk-7u2-windows-i586.exe&#xff0c;安装到D:\ProgramFiles\Java&#xff0c;并将D:\ProgramFiles\Java\jdk1.7.0_02\bin添加到环境变量中&#xff1b; 2. 从…

Pinterest基于AWS规模化使用Apache Kafka的实践经验

在Pinterest&#xff0c;Apache Kafka被用于为实时流应用程序传输数据、记录日志和可视化监控指标。Pinterest的Kafka托管在AWS上&#xff0c;为了实现复制和高可用性&#xff0c;其安装使用了MirrorMaker和DoctorKafka工具。 Pinterest的技术主管Yu Yang写道&#xff0c;Pinte…

Open×××以及其它IP层×××的完全链路层处理的实现

如果Open也能实现传输模式该有多好&#xff0c;如果基于Open实现的产品能仅仅作为一根昂贵的网线串接在用户网络环境&#xff0c;自动捕获感兴趣流量该有多好&#xff1b;如果它能做到只需要配置一个IP即可工作而无需配置任何路由该有多好。我们知道Open是一个用户态的程序&…

Windows 7 64位机上OpenCV2.4.3的编译、安装与配置

1. 从http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.3/下载OpenCV2.4.3&#xff1b; 2. 将OpenCV-2.4.3.exe放到D:\soft\OpenCV2.4.3文件夹下&#xff0c;解压到当前文件夹下&#xff0c;生成一个opencv文件夹&#xff1b; 3. 下载并安…

有望替代卷积神经网络?微软最新研究提基于关系网络的视觉建模

导语&#xff1a;最近两年&#xff0c;自注意力机制、图和关系网络等模型在NLP领域刮起了一阵旋风&#xff0c;基于这些模型的Transformer、BERT、MASS等框架已逐渐成为NLP的主流方法。这些模型在计算机视觉领域是否能同样有用呢&#xff1f;近日&#xff0c;微软亚洲研究院视觉…

Word 2013无法发布文章到博客园

2018年12月12日突然发现word2013无法发布文章到博客园了&#xff0c; 虽然不常发布博客&#xff0c; 但作为一个强迫症患者&#xff0c; 不折腾好了&#xff0c; 吃肉都不香呀&#xff01; 删除之前的账户&#xff0c; 想重新注册&#xff0c; 居然遇到了灰色对话框&#xff01…

1 sec on Large Judge (java): https://github.com/l...

1 sec on Large Judge (java): https://github.com/leoyonn/leetcode/blob/master/src/q029_substring_of_all_words/Solution.java转载于:https://www.cnblogs.com/codingtmd/archive/2013/03/31/5079017.html

性能提升3倍的树莓派4,被爆设计缺陷!

整理 | 屠敏转载自CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;一直以来&#xff0c;素有世界最小电脑之称的 Raspberry Pi&#xff08;树莓派&#xff09;是一种独特的存在。它不仅只有一块信用卡般的体积&#xff0c;还具备主机电脑所具备的功能&#xff0c;如运行 L…

Windows7 64位机上Emgu CV2.4.2安装与配置

1. 从http://sourceforge.net/projects/emgucv/?sourcedirectory下载最新的Emgu CV2.4.2&#xff1b; 2. 将libemgucv-windows-x86-gpu-2.4.2.1777拷贝到D:\soft\Emgu2.4.2文件夹下&#xff0c;运行此.exe文件&#xff0c;将其安装到D:\soft\Emgu2.4.2\emgucv-wind…

2018年12月,华为HCNP大面积更新题目,军哥独家解题咯

2018年12月&#xff0c;华为HCNP大面积更新题目&#xff0c;乾颐堂军哥独家解题咯2018年是华为认证变动比较大的一年&#xff0c;华为认证走过这几年不得不说是有一定进步的&#xff0c;而且最近华为孟女侠确实让我也小小的骄傲了一把&#xff0c;所以当然希望华为认证能做的更…

关于ProGuard的学习了解(从别处转来)

from&#xff1a;http://www.cnitblog.com/zouzheng/archive/2011/01/12/72639.html在Android项目中用到JNI&#xff0c;当用了proguard后&#xff0c;发现native方法找不到很多变量&#xff0c;原来是被produard优化掉了。所以&#xff0c;在JNI应用中该慎用progurad啊。解决办…

tesseract-ocr3.02字符识别过程操作步骤

1、 从http://code.google.com/p/tesseract-ocr/downloads/list下载tesseract-ocr-3.02-vs2008、tesseract-ocr-3.02.chi_sim.tar、tesseract-ocr-3.02.02.tar、tesseract-ocr-3.02.02-doc-html.tar、leptonica-1.68-win32-lib-include-dirs相关文件&#xff1b; 2、 将所有…

中文repo“霸榜”GitHub Trending,国外开发者不开心了

编译整理 | 一一出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;近日&#xff0c;一位叫Balazs Saros 的国外开发者在Medium上发表了一篇名为"Chinese repos are ruining the Github trending page"的博文&#xff0c;翻译一下他的意思就是“中文 repo 正在…

使用 electron-updater 自动更新应用

前端工程师可以使用 Electron 非常方便的编写出 PC 端应用&#xff0c;而应用更新的方式也有很多&#xff0c;详细可见更新应用程序。 我的项目是基于 electron-vue 搭建的&#xff0c;构建打包生成安装包&#xff0c;则用的是 electron-builder&#xff0c;所以更新自然选择 e…

struts2请求处理过程源代码分析(1)

2019独角兽企业重金招聘Python工程师标准>>> 转载自&#xff1a;http://www.see-source.com/ 源码解析网 网上对于struts2请求处理流程的讲解还是比较多的&#xff0c;有的还是非常详细的&#xff0c;所以这里我就简单地将大概流程总结下&#xff0c;有了个大概印象…

Ubuntu中C代码静态检查工具Splint的安装配置和使用

1、 从http://www.splint.org/download.html下载splint-3.1.2.src.tgz&#xff0c;存放到/home/spring/Splint文件夹下&#xff1b; 2、 打开终端&#xff1b; 3、 解压缩&#xff1a;tar zxvfsplint-3.1.2.src.tgz 4、 安装到/usr/local/splint目录下&#xff1a; …

Fetch 入门

一、什么是Fetch &#xff1f; Fetch的定义 Fetch本质上是一种标准&#xff0c;该标准定义了请求、响应和绑定的流程。 Fetch标准还定义了Fetch () JavaScript API&#xff0c;它在相当低的抽象级别上公开了大部分网络功能&#xff0c;我们今天讲的主要是Fetch API。Fetch API …

保障数据安全,强调科技向善,旷视发布《人工智能应用准则》

目录 AI应用落地加速 善用科技是关键 《人工智能应用准则》全文 2019年7月17日&#xff0c;旷视正式全文公布基于企业自身管理标准的《人工智能应用准则》&#xff08;以下简称《准则》&#xff09;。《准则》从正当性、人的监督、技术可靠性和安全性、公平和多样性、问责和及…

胜者树和败者树 - qianye0905 - 博客园

胜者树和败者树 - qianye0905 - 博客园胜者树和败者树胜者树和败者树都是完全二叉树&#xff0c;是树形选择排序的一种变型。每个叶子结点相当于一个选手&#xff0c;每个中间结点相当于一场比赛&#xff0c;每一层相当于一轮比赛。不同的是&#xff0c;胜者树的中间结点记录的…

C/C++代码静态检查工具PC-lint在VS2008开发环境中的安装配置和使用

PC-Lint偏重于代码的逻辑分析&#xff0c;它能够发现代码中潜在的错误&#xff0c;比如数组访问越界、内存泄漏、使用未初始化变量等。 1、 从http://download.csdn.net/detail/liuchang5/3005191 下载破解版PC-lint9.0&#xff1b; 2、 解压缩到D:\soft\PC-lint&#xff0c…

k8s使用kube-router网络插件并监控流量状态

简介 kube-router是一个新的k8s的网络插件&#xff0c;使用lvs做服务的代理及负 载均衡&#xff0c;使用iptables来做网络的隔离策略。部署简单&#xff0c;只需要在每个节点部署一个daemonset即可&#xff0c;高性能&#xff0c;易维护。支持pod间通信&#xff0c;以及服务的代…

作业盒子完成1.5亿美元D轮融资,更名“小盒科技”

作者 | 夕颜 导读&#xff1a;2019 年 7 月 18 日&#xff0c;AI 在线教育创企“作业盒子”召开发布会&#xff0c;宣布已于今年 5 月完成 1.5 亿美元 D 轮融资&#xff0c;由阿里巴巴领投。同时&#xff0c;“作业盒子”宣布进行品牌升级&#xff0c;正式更名为“小盒科技”&a…

8500WN流畅高速上网高端卡 12核心不锁倍频

据台湾媒体最新报道&#xff0c;台湾无线网卡厂商最新推出一款大功率80DBI无线网卡-横空出世8500WN集成机。售价约1180新台币(折合人民币约298元) 台湾卡王是全球著名的大功率无线网卡生产厂商&#xff0c;2007年曾最早推出大功率无线网卡8G&#xff0c;以其卓越的品质&#xf…

Fiddler抓包工具总结(转)

序章 Fiddler是一个蛮好用的抓包工具&#xff0c;可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多&#xff0c;举之不尽呀&#xff01;当年学习的时候也蛮费劲&#xff0c;一些蛮实用隐藏的小功能用了之后就忘记了&a…

Windows 64位机上C/C++代码静态检查工具Logiscope RuleChecker的安装和使用

1、 从http://download.csdn.net/detail/zmywly/3611820 和 http://download.csdn.net/detail/zmywly/3611854下载破解版&#xff1b; 2、 将文件解压缩到D:\soft\logiScope文件夹下&#xff0c;会生成一个logiScope[6.1.30]文件夹&#xff1b; 3、 双击D:\soft\lo…

作业盒子完成1.5亿美元D轮融资,用AI普及教育资源

作者 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导读&#xff1a;2019 年 7 月 18 日&#xff0c;AI 在线教育创企“作业盒子”召开发布会&#xff0c;宣布已于今年 5 月完成 1.5 亿美元 D 轮融资&#xff0c;由阿里巴巴领投。同时&#xff0c;“作业盒子…

迭代器接口IteratorAggregate 与类 ArrayIterator(转)

也许你很想使用foreach来遍历一个类中的属性&#xff0c;然而你却没有很好的方式来这么做。可能使用PHP中class的操作的方式能够帮助你实现一些&#xff0c;但是现在我想你有了更好的方式。通过继承接口&#xff1a;IteratorAggregate来实现。 示例 [php] view plaincopy <?…