P3245: 最快路线
这道题其实还是不难的,只是自己搞混了=-=//晕,做了好久啊,其实就是个spfa,关键是存储路径搞昏了。输出格式要求太严了,航模不能有空格啊,所以因为格式WA了三次,哭啊/(ㄒoㄒ)/~~。贴上代码吧=-=。
const maxn=;
type
link=^node;
node=record
t,v,l:longint;
f:link;
end;
var n,m,s,t,v,l,i,j,toto,sp:longint;
dis:double;
adj:array[..] of link;
bl:array[..,..] of boolean;
f,speed:array[..] of longint;
go:array[..,..,..] of longint;
d:array[..,..] of double;
procedure insert(s,t,v,l:longint);
var p:link;
begin
new(p);
p^.f:=adj[s];
p^.t:=t;
p^.v:=v;
p^.l:=l;
adj[s]:=p;
end;
procedure spfa;
var p:link;
now,l,r,v:longint;
begin
for l:= to do
for r:= to n do d[l,r]:=maxn;
fillchar(bl,sizeof(bl),true);
l:=; r:=; d[,]:=; f[]:=; bl[,]:=false; go[,,]:=; speed[]:=;
while l<=r do
begin
now:=f[l];
v:=speed[l];
p:=adj[now];
while p<>nil do
begin
if p^.v<> then
begin
if d[v,now]+(p^.l/p^.v)<d[p^.v,p^.t] then
begin
d[p^.v,p^.t]:=d[v,now]+(p^.l/p^.v);
go[p^.v,p^.t,]:=now;
go[p^.v,p^.t,]:=v;
if bl[p^.v,p^.t] then
begin
bl[p^.v,p^.t]:=false;
inc(r);
f[r]:=p^.t;
speed[r]:=p^.v;
end;
end;
end
else begin
if d[v,now]+(p^.l/v)<d[v,p^.t] then
begin
d[v,p^.t]:=d[v,now]+(p^.l/v);
go[v,p^.t,]:=now;
go[v,p^.t,]:=v;
if bl[v,p^.t] then
begin
bl[v,p^.t]:=false;
inc(r);
f[r]:=p^.t;
speed[r]:=v;
end;
end;
end;
p:=p^.f;
end;
inc(l);
bl[v,now]:=true;
end;
end;
procedure print(x,v:longint);
begin
if (x<>) then print(go[v,x,],go[v,x,]);
if x<>toto then write(x-,' ')
else write(x-);
end;
begin
readln(n,m,toto);
inc(toto);
for i:= to m do
begin
readln(s,t,v,l);
insert(s+,t+,v,l);
end;
spfa;
dis:=maxn;
for i:= to do
if d[i,toto]<dis then
begin
dis:=d[i,toto];
sp:=i;
end;
print(toto,sp);
end.
(转载请注明出处:http://www.cnblogs.com/Kalenda/)
P3245: 最快路线的更多相关文章
- BZOJ 3245: 最快路线 spfa
3245: 最快路线 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=3245 Description 精明的小R每每开车出行总是喜欢走最快 ...
- BZOJ3245:最快路线(最短路)
Description 精明的小R每每开车出行总是喜欢走最快路线,而不是最短路线.很明显,每条道路的限速是小R需要考虑的关键问题.不过有一些限速标志丢失了,于是小R将不知道能开多快.不过有一个合理的方 ...
- [图论训练]BZOJ 3245: 最快路线【最短路】
Description 精 明的小R每每开车出行总是喜欢走最快路线,而不是最短路线.很明显,每条道路的限速是小R需要考虑的关键问题.不过有一些限速标志丢失了,于是小R将不知 道能开多快.不过有一个合理 ...
- [BZOJ3245]最快路线
Description 精明的小R每每开车出行总是喜欢走最快路线,而不是最短路线.很明显,每条道路的限速是小R需要考虑的关键问题.不过有一些限速标志丢失了,于是小R将不知道能开多快.不过有一个合理的方 ...
- BZOJ 3245 最快路线
和道路升级差不多,只是用的spfa; 十分有毒,在BZOJ上一直WA,对拍拍出来是一样的却告诉我不一样,然后发现自己把'\n'写成了‘\b’... #include<cstdio> #in ...
- NOIP 考前 图论练习
LJOJ 1500: 题目:http://www.docin.com/p-601990756.html Sol:贪心,从叶子结点往上加入无法传递了,就需要建设. Dfs返回的是到达叶子节点最多所要的能 ...
- WebGIS在行业中应用的演变
结合我本身的项目及WebGIS在公检法行业中的应用,对此作了一个演变过程的总结: 第一阶段:GIS基本功能的应用:Data Show(数据展示):Search(搜索):Search b ...
- 算法导论——lec 11 动态规划及应用
和分治法一样,动态规划也是通过组合子问题的解而解决整个问题的.分治法是指将问题划分为一个一个独立的子问题,递归地求解各个子问题然后合并子问题的解而得到原问题的解.与此不同,动态规划适用于子问题不是相互 ...
- PTA天梯 L3-007 天梯地图
L3-007 天梯地图 题目: 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线:一条是最短距离的路线.题目保证对任意的查询请求,地 ...
随机推荐
- javaSE第二十一天
第二十一天 276 1:字符流(掌握) 276 (1)字节流操作中文数据不是特别的方便,所以就出现了转换流. 276 (2)转换流其实是一个字符流 276 1:InputStr ...
- 自动发送EMAIL
*&---------------------------------------------------------------------* *& Report ZPP_SEND ...
- JQuery 的几个有用的技巧
JQuery代码 /* 新窗口打开链接:JQuery filter attr * 禁止鼠标弹出右键菜单:DOM contextmenu * 回到页面顶端:DOM scrollTo * 动态更换Css样 ...
- 添加删除程序无法安装IIS 提示没法加载模块
添加删除程序无法安装IIS 提示没法加载模块 安装iis的时候提示 解决办法:依次是 属性--高级--系统变量--Path 变量值是:%SystemRoot%\system32;%SystemRoo ...
- SQL中查看数据库各表的大小
SQL中查看数据库各表的大小 编写人:CC阿爸 2014-6-17 在日常SQL数据库的操作中,如何快速的查询数据库中各表中数据的大小. 以下有两种方法供参考: 第一种: create table # ...
- spark-submit工具参数说明
执行时需要传入的参数说明 Usage: spark-submit [options] <app jar | python file> [app options] 参数名称 含义 --mas ...
- 分析MapReduce执行过程
分析MapReduce执行过程 MapReduce运行的时候,会通过Mapper运行的任务读取HDFS中的数据文件,然后调用自己的方法,处理数据,最后输出. Reducer任务会接收Mapper任务输 ...
- 【转】CSS white-space 属性
定义和用法 white-space 属性设置如何处理元素内的空白. 这个属性声明建立布局过程中如何处理元素中的空白符.值 pre-wrap 和 pre-line 是 CSS 2.1 中新增的. 默认值 ...
- ViewPager使用 -------滑动图片
package com.zzw.viewpage; import java.util.ArrayList; import java.util.List; import android.app.Acti ...
- c#反射机制学习和利用反射获取类型信息
反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等.还可以获得每个成员的 ...