Party_纪中_1328
来源:互联网 发布:淘宝手游交易平台官网 编辑:程序博客网 时间:2024/05/18 11:50
题目大意
N头牛要去参加一场在编号为x(1<=x<=n)的牛的农场举行的派对(1<=N<=1000),有M(1<=m<=100000)条有向道路,每条路长ti(1<=ti<=100);
每头牛都必须参加完派对后回到家,每头牛都会选择最短路径,求这n个牛的最短路径(一个来回)中最长的一条的长度。
特别提醒:可能有权值不同的重边。
分析
这一眼看上去就是一个最短路。
注意,因为是有向图,所以从家到x农场的最短路和从x农场到家的最短路是不一样的。
所以,只用先把x到其他点的最短路求出来,再把边反向链接,再求一次x到其他点的最短路。两次结果相加得数最大的,就是结果。
反思
要设置好数组,jpwang就是因为数组没设好错的。
代码
const maxe=2000; maxv=200000;type arr=record x,y,w:longint; next:longint;end;var a:array[1..maxv] of arr; ls:array[1..maxe] of longint; v,d,f,ans:array[1..maxe] of longint; i,j,k,w:longint; n,m,st:longint; nm,max:longint;procedure spfa;var i,j,k:longint; head,tail:longint;begin head:=0; tail:=1; fillchar(v,sizeof(v),0); fillchar(d,sizeof(d),0); fillchar(f,sizeof(f),$7f); v[st]:=1; d[1]:=st; f[st]:=0; repeat head:=head+1; j:=d[head]; i:=ls[j]; while i<>0 do begin with a[i] do begin if f[x]+w<f[y] then begin f[y]:=f[x]+w; if v[y]=0 then begin tail:=tail+1; v[y]:=1; d[tail]:=y; end; end; i:=next; end; end; v[j]:=0; until head=tail;end;procedure add(x,y,w:longint);begin nm:=nm+1; a[nm].x:=x; a[nm].y:=y; a[nm].w:=w; a[nm].next:=ls[x]; ls[x]:=nm;end;begin readln(n,m,st); fillchar(ls,sizeof(ls),0); for i:=1 to m do begin readln(j,k,w); add(j,k,w); end; spfa; for i:=1 to n do ans[i]:=f[i]; fillchar(ls,sizeof(ls),0); for i:=1 to nm do begin with a[i] do begin j:=x; x:=y; y:=j; next:=ls[x]; ls[x]:=i; end; end; spfa; for i:=1 to n do ans[i]:=f[i]+ans[i]; max:=0; for i:=1 to n do if max<ans[i] then max:=ans[i]; write(max);end.
1 0
- Party_纪中_1328
- Party_纪中1328_spfa
- HDU1520_Anniversary party_树状DP
- POJ_1455_Crazy tea party_解题思路
- poj 2342 Anniversary party_经典树状dp
- hdu_Anniversary party_(树形DP入门题)
- POJ3268_Silver Cow Party_队列优化的Dijkstra
- Window_纪中_1326
- poker_纪中1766
- 中
- Mobile Service_纪中_1327
- 跳舞 纪中2545 dp
- 刪數 纪中3097 dp
- 比赛_纪中3055
- Brothers 纪中4764 模拟
- 电影票 纪中 3057 数学
- Map_纪中1281_dfs
- [7.6]纪中C组
- Gradle统一依赖管理
- 解决win7 svchost占用CPU过高的问题
- SQL server 内置函数之随机函数newid()和rand()
- 程序员数学——最小二乘法,线性拟合(一)
- Window_纪中1326_水_单调队列
- Party_纪中_1328
- java匹配IP正则表达式
- HTML网页开发 燕十八 第6课学习笔记-浮动布局
- 动态规划算法
- spring boot + jsp
- linux 修改密码(二)
- Android自定义控件之仿京东商城下拉刷新
- 前端打包构建工具gulp入门实战
- 20160707 在Ubuntu Linux上安装搜狗输入法及对Qt Creator的支持