【题目链接】 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点处理最长路的计算,
  按照时间节点排序,顺序求最长路即可。  

【代码】

#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int N=50010;
int n,m,T,t,x,y,a,b,c,d,tot,dis[N],ans[N<<1];
struct ask{int x,t,id,dis;}q[N<<2];
bool cmp(ask a,ask b){return a.t==b.t?a.dis>b.dis:a.t<b.t;}
int main(){
scanf("%d%d%d%d",&n,&m,&T,&t);
for(int i=1;i<=m;i++){
scanf("%d%d%d%d%d%d",&x,&y,&a,&b,&c,&d);
q[++tot]=(ask){x,a,i,0};
q[++tot]=(ask){y,d,i,c-b};
}q[++tot]=(ask){n+1,t,0,-2e9};
sort(q+1,q+tot+1,cmp);
memset(dis,233,sizeof(dis));
dis[1]=0;
for(int i=1;i<=tot;i++){
if(q[i].x==n+1)break;
if(!q[i].dis)ans[q[i].id]=dis[q[i].x];
else dis[q[i].x]=max(dis[q[i].x],ans[q[i].id]+q[i].dis);
}printf("%d\n",dis[T]<0?-1:t-dis[T]);
return 0;
}

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. NYOJ 328 完全覆盖 (找规律)

    题目链接 描述 有一天小董子在玩一种游戏----用21或12的骨牌把mn的棋盘完全覆盖.但他感觉游戏过于简单,于是就随机生成了两个方块的位置(可能相同),标记一下,标记后的方块不用覆盖.还要注意小董子 ...

  2. Django 1.10中文文档-第一个应用Part7-自定义管理站点

    开发第一个Django应用,Part7 本教程上接Part6.将继续完成这个投票应用,本节将着重讲解如果用Django自动生成后台管理网站. 自定义管理表单 通过admin.site.register ...

  3. $NTT$(快速数论变换)

    - 概念引入 - 阶 对于$p \in N_+$且$(a, \ p) = 1$,满足$a^r \equiv 1 (mod \ p)$的最小的非负$r$为$a$模$p$意义下的阶,记作$\delta_p ...

  4. windows 10添加定时任务

    1.在搜索栏搜索‘任务计划’ 2.选择任务计划程序,打开 3.创建基本任务 4.输入任务名称 5.选择任务触发周期 6.选择任务触发的具体时间点 7.选择任务需要做的事 8.选择启动程序后,选择具体的 ...

  5. AssetBundle——外部加载资源Asset

    几篇很不错的文章  AssetBundle创建到使用入门 全面理解Unity加载和内存管理 实用的创建AssetBundle的脚本   相关资源 相关的共享资源下载  本共享包括创建assetbund ...

  6. P1084 疫情控制

    Solution 二分答案, 尽量往上跳, 不能跳到根节点. 仍然能跳的拿出来.看剩下的点没有覆盖哪个? 贪心的分配一下. Code 70 #include<iostream> #incl ...

  7. beego学习笔记(3)

    相对复杂一点的示例: package main import "github.com/astaxie/beego" type MainController struct{ beeg ...

  8. Tomcat集群的session共享

    配置Tomcat的session共享可以有三种解决方案: 第一种是以负载均衡服务器本身提供的session共享策略,每种服务器的配置是不一样的并且nginx本身是没有的. 第二种是利用web容器本身的 ...

  9. HEVC代码记录(删除)

    得到编码残差  TEncSearch.cpp 4543:rpcYuvResi->subtract( pcYuvOrg, pcYuvPred, 0, uiWidth );

  10. 完美解决wordpress邮件链接无效的问题

    教程介绍:解决wordpress新用户注册邮件链接无效以及重新设置密码链接无效的问题 解决流程 案例一.用户注册 当用户注册站点时,用户会收到如下注册信: 当用户点击链接时,却发现链接无效: 仔细观察 ...