BZOJ 1395 [Baltic2005]Trip(最短路+DP)
【题目链接】 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)的更多相关文章
- BZOJ 1003 - 物流运输 - [最短路+dp]
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1003 Time Limit: 10 Sec Memory Limit: 162 MB D ...
- POJ 3635 Full Tank? 【分层图/最短路dp】
任意门:http://poj.org/problem?id=3635 Full Tank? Time Limit: 1000MS Memory Limit: 65536K Total Submis ...
- [BZOJ 4033] [HAOI2015] T1 【树形DP】
题目链接:BZOJ - 4033 题目分析 使用树形DP,用 f[i][j] 表示在以 i 为根的子树,有 j 个黑点的最大权值. 这个权值指的是,这个子树内部的点对间距离的贡献,以及 i 和 Fat ...
- hdu 4568 Hunter 最短路+dp
Hunter Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- BZOJ_1003_[ZJOI2006]物流运输_最短路+dp
BZOJ_1003_[ZJOI2006]物流运输_最短路+dp 题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1003 分析: 这种一段一段的显 ...
- [USACO07NOV]牛继电器Cow Relays (最短路,DP)
题目链接 Solution 非正解 似乎比较蛇啊,先个一个部分分做法,最短路+\(DP\). 在求最短路的堆或者队列中存储元素 \(dis_{i,j}\) 代表 \(i\) 这个节点,走了 \(j\) ...
- Bzoj 1055: [HAOI2008]玩具取名 (区间DP)
Bzoj 1055: [HAOI2008]玩具取名 (区间DP) 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1055 区间动态规划和可 ...
- P1772 [ZJOI2006]物流运输 最短路+DP
思路:最短路+DP 提交:1次 题解: $f[i]$表示到第$i$天的最小代价,我们可以预先处理出$i,j$两天之间(包括$i,j$)都可通行的最短路的代价记做$s[i][j]$,然后有$f[i]=m ...
- [BZOJ 3992] [SDOI 2015] 序列统计(DP+原根+NTT)
[BZOJ 3992] [SDOI 2015] 序列统计(DP+原根+NTT) 题面 小C有一个集合S,里面的元素都是小于质数M的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数 ...
随机推荐
- NYOJ 328 完全覆盖 (找规律)
题目链接 描述 有一天小董子在玩一种游戏----用21或12的骨牌把mn的棋盘完全覆盖.但他感觉游戏过于简单,于是就随机生成了两个方块的位置(可能相同),标记一下,标记后的方块不用覆盖.还要注意小董子 ...
- Django 1.10中文文档-第一个应用Part7-自定义管理站点
开发第一个Django应用,Part7 本教程上接Part6.将继续完成这个投票应用,本节将着重讲解如果用Django自动生成后台管理网站. 自定义管理表单 通过admin.site.register ...
- $NTT$(快速数论变换)
- 概念引入 - 阶 对于$p \in N_+$且$(a, \ p) = 1$,满足$a^r \equiv 1 (mod \ p)$的最小的非负$r$为$a$模$p$意义下的阶,记作$\delta_p ...
- windows 10添加定时任务
1.在搜索栏搜索‘任务计划’ 2.选择任务计划程序,打开 3.创建基本任务 4.输入任务名称 5.选择任务触发周期 6.选择任务触发的具体时间点 7.选择任务需要做的事 8.选择启动程序后,选择具体的 ...
- AssetBundle——外部加载资源Asset
几篇很不错的文章 AssetBundle创建到使用入门 全面理解Unity加载和内存管理 实用的创建AssetBundle的脚本 相关资源 相关的共享资源下载 本共享包括创建assetbund ...
- P1084 疫情控制
Solution 二分答案, 尽量往上跳, 不能跳到根节点. 仍然能跳的拿出来.看剩下的点没有覆盖哪个? 贪心的分配一下. Code 70 #include<iostream> #incl ...
- beego学习笔记(3)
相对复杂一点的示例: package main import "github.com/astaxie/beego" type MainController struct{ beeg ...
- Tomcat集群的session共享
配置Tomcat的session共享可以有三种解决方案: 第一种是以负载均衡服务器本身提供的session共享策略,每种服务器的配置是不一样的并且nginx本身是没有的. 第二种是利用web容器本身的 ...
- HEVC代码记录(删除)
得到编码残差 TEncSearch.cpp 4543:rpcYuvResi->subtract( pcYuvOrg, pcYuvPred, 0, uiWidth );
- 完美解决wordpress邮件链接无效的问题
教程介绍:解决wordpress新用户注册邮件链接无效以及重新设置密码链接无效的问题 解决流程 案例一.用户注册 当用户注册站点时,用户会收到如下注册信: 当用户点击链接时,却发现链接无效: 仔细观察 ...