chocolate giving[usaco2010 Feb]
来源:互联网 发布:淘宝牛仔女裤 编辑:程序博客网 时间:2024/03/29 19:40
思路很简单,显然是spfa求最短路
但需要注意
1.用指针#chocolate giving [usaco2010 Feb]储存信息,不要用数组,会炸空间。
2.队列q长度要开大些,2*n+10较为合适。
3.好吧,是道水题,贴代码…
type pp=^node; node=record dot,v:longint; next:pp; end;const maxn=50006;var dis:array[0..maxn]of longint; q:array[0..2*maxn+20]of longint; a:array[0..maxn]of pp; f:array[0..maxn]of boolean; n,m,b,head,tail,u,v,x,y,i,j,l,w:longint; p:pp;begin {assign(input,'cgiving.in');assign(output,'cgiving.out'); reset(input);rewrite(output);} readln(n,m,b); for i:=1 to n do begin new(a[i]); a[i]^.next:=nil; end; for i:=1 to n do dis[i]:=maxlongint div 3; for i:=1 to m do begin readln(x,y,l); new(p);p^.next:=a[x]^.next; p^.dot:=y;p^.v:=l;a[x]^.next:=p; new(p);p^.next:=a[y]^.next; p^.dot:=x;p^.v:=l;a[y]^.next:=p; end; fillchar(q,sizeof(q),0);fillchar(f,sizeof(f),false); f[1]:=true;q[1]:=1;head:=0;dis[1]:=0;head:=0;tail:=1; repeat inc(head);u:=q[head];p:=a[u]; while p^.next<>nil do begin p:=p^.next; v:=p^.dot;w:=p^.v; if dis[v]>dis[u]+w then begin dis[v]:=dis[u]+w; if not f[v] then begin inc(tail);q[tail]:=v; f[v]:=true; end; end; end; f[u]:=false; until head>=tail; for i:=1 to b do begin readln(x,y); writeln(dis[x]+dis[y]); end; //close(input);close(output);end.
1 0
- chocolate giving[usaco2010 Feb]
- bzoj2015 [Usaco2010 Feb]Chocolate Giving
- [BZOJ2015][Usaco2010 Feb]Chocolate Giving
- [bzoj2015&&Usaco2010 Feb] Chocolate Giving
- 2015: [Usaco2010 Feb]Chocolate Giving
- BZOJ2015 [Usaco2010 Feb]Chocolate Giving
- BZOJ 2015: [Usaco2010 Feb]Chocolate Giving spfa
- bzoj 2015: [Usaco2010 Feb]Chocolate Giving
- bzoj2015 [Usaco2010 Feb]Chocolate Giving(最短路裸题)
- bzoj2014 [Usaco2010 Feb]Chocolate Buying
- USACO 2010 Feb Chocolate Giving 领取巧克力
- BNUOJ 4157 Chocolate Giving
- [Usaco2010]Chocolate Eating
- 【bzoj2016】[Usaco2010]Chocolate Eating
- 洛谷P2984 [USACO10FEB]给巧克力Chocolate Giving
- bzoj 2016: [Usaco2010]Chocolate Eating (二分)
- [BZOJ2016][Usaco2010]Chocolate Eating(二分)
- [bzoj2016][Usaco2010]Chocolate Eating(二分+贪心)
- 全自动修改模式说明
- vs2013 error:Building an MFC project for a non-Unicode character set is deprecated
- 递推递归练习 G 小银考呀考不过四级
- 第二章 随机变量
- SSH-keygen用法
- chocolate giving[usaco2010 Feb]
- 电信号码停机查询本机号码
- (ssl1759)求连通分量
- [李景山php]每天laravel[007]-laravel 中级任务翻译---简介
- 年薪5w和50w的人区别到底在哪?
- 数据流图的画法
- 善用 SPINWAIT 处理 线程空转 以利提升效能
- 不需要form,获取table所有数据,整合为json数据 传送给后台
- Spring MVC拦截器