【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=1354

【题目大意】

  给出一些车的班次,包括起点,终点,到达起点时间区间,
  到达终点时间区间,想要T时刻到达n号点,问最坏情况下的最短等待时间

【题解】

  最坏情况就是每次从b时刻才出发,c时刻到达,
  那么就相当于地点从x到y,时间从a到d,代价为c-b,
  我们求出符合要求的最大代价,然后用最终时间T去减即可
  如果没有a和d这个限制,可以直接求最长路即可,
  现在考虑如何消除a和d这个时间限制,我们将每条路拆分为两个点
  a点处理答案保存,d点处理最长路的计算,
  按照时间节点排序,顺序求最长路即可。  

【代码】

  1. #include <cstdio>
  2. #include <algorithm>
  3. #include <cstring>
  4. using namespace std;
  5. const int N=50010;
  6. int n,m,T,t,x,y,a,b,c,d,tot,dis[N],ans[N<<1];
  7. struct ask{int x,t,id,dis;}q[N<<2];
  8. bool cmp(ask a,ask b){return a.t==b.t?a.dis>b.dis:a.t<b.t;}
  9. int main(){
  10. scanf("%d%d%d%d",&n,&m,&T,&t);
  11. for(int i=1;i<=m;i++){
  12. scanf("%d%d%d%d%d%d",&x,&y,&a,&b,&c,&d);
  13. q[++tot]=(ask){x,a,i,0};
  14. q[++tot]=(ask){y,d,i,c-b};
  15. }q[++tot]=(ask){n+1,t,0,-2e9};
  16. sort(q+1,q+tot+1,cmp);
  17. memset(dis,233,sizeof(dis));
  18. dis[1]=0;
  19. for(int i=1;i<=tot;i++){
  20. if(q[i].x==n+1)break;
  21. if(!q[i].dis)ans[q[i].id]=dis[q[i].x];
  22. else dis[q[i].x]=max(dis[q[i].x],ans[q[i].id]+q[i].dis);
  23. }printf("%d\n",dis[T]<0?-1:t-dis[T]);
  24. return 0;
  25. }

BZOJ 1395 [Baltic2005]Trip(最短路+DP)的更多相关文章

  1. BZOJ 1003 - 物流运输 - [最短路+dp]

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1003 Time Limit: 10 Sec Memory Limit: 162 MB D ...

  2. POJ 3635 Full Tank? 【分层图/最短路dp】

    任意门:http://poj.org/problem?id=3635 Full Tank? Time Limit: 1000MS   Memory Limit: 65536K Total Submis ...

  3. [BZOJ 4033] [HAOI2015] T1 【树形DP】

    题目链接:BZOJ - 4033 题目分析 使用树形DP,用 f[i][j] 表示在以 i 为根的子树,有 j 个黑点的最大权值. 这个权值指的是,这个子树内部的点对间距离的贡献,以及 i 和 Fat ...

  4. hdu 4568 Hunter 最短路+dp

    Hunter Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  5. BZOJ_1003_[ZJOI2006]物流运输_最短路+dp

    BZOJ_1003_[ZJOI2006]物流运输_最短路+dp 题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1003 分析: 这种一段一段的显 ...

  6. [USACO07NOV]牛继电器Cow Relays (最短路,DP)

    题目链接 Solution 非正解 似乎比较蛇啊,先个一个部分分做法,最短路+\(DP\). 在求最短路的堆或者队列中存储元素 \(dis_{i,j}\) 代表 \(i\) 这个节点,走了 \(j\) ...

  7. Bzoj 1055: [HAOI2008]玩具取名 (区间DP)

    Bzoj 1055: [HAOI2008]玩具取名 (区间DP) 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1055 区间动态规划和可 ...

  8. P1772 [ZJOI2006]物流运输 最短路+DP

    思路:最短路+DP 提交:1次 题解: $f[i]$表示到第$i$天的最小代价,我们可以预先处理出$i,j$两天之间(包括$i,j$)都可通行的最短路的代价记做$s[i][j]$,然后有$f[i]=m ...

  9. [BZOJ 3992] [SDOI 2015] 序列统计(DP+原根+NTT)

    [BZOJ 3992] [SDOI 2015] 序列统计(DP+原根+NTT) 题面 小C有一个集合S,里面的元素都是小于质数M的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数 ...

随机推荐

  1. 第一周 ch01 课下测试

    1.Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比.(B) A .正确 B .错误 解析:Amdahl定律,该定律的主要思想是,当我们对系统的某个部分加速时,其对 ...

  2. iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址(2014年2月19日更新版)

    //转载请注明出处--本文永久链接:http://www.cnblogs.com/ChenYilong/p/3496069.html     编号 iOS-Apple苹果官方文档翻译名称 博文链接地址 ...

  3. 实现字符串检索strstr函数、字符串长度strlen函数、字符串拷贝strcpy函数

    #include <stdio.h> #include <stdlib.h> #include <string.h> /* _Check_return_ _Ret_ ...

  4. favico.js笔记

    1. favicon.js是什么 一个js库可以使用徽标.图像.视频等来设置网页的favicon,即网页标题栏上的小图标. 2. 如何使用 2.1 使用徽标 basic demo: <!DOCT ...

  5. HTTP、HTTPS

    http是一种无状态协议,通过短暂保持浏览器核服务器间通信可以有效减少为保持连接而耗费的额外开销.无状态意味着浏览器和服务器完成一次通信后,连接会释放.在下一次会话发起时,浏览器核服务器端不会记录上一 ...

  6. Python3中的SocketServer

    socket并不能多并发,只能支持一个用户,socketserver 简化了编写网络服务程序的任务,socketserver是socket的在封装.socketserver在python2中为Sock ...

  7. localStorage H5本地存储

    域内安全.永久保存.即客户端或浏览器中来自同一域名的所有页面都可访问localStorage数据且数据除了删除否则永久保存,但客户端或浏览器之间的数据相互独立. <!doctype html&g ...

  8. .ui/qrc文件自动生成.py文件

    前天PL让我们做一个从手机里手机一些数据导出到excel文件里的Tool. 让我们用python去写一个.但是我们都没有学过python..呵呵! 然后昨天看了一些文档.做ui时还需要把图片写入qrc ...

  9. Spring提供的iBatis的SqlMap配置

    1.    applicationContext.xml <!-- Spring提供的iBatis的SqlMap配置--> <bean id="sqlMapClient&q ...

  10. leetcode 之Remove Duplicates from Sorted Array(2)

    描述    Follow up for ”Remove Duplicates”: What if duplicates are allowed at most twice?    For exampl ...