3361: [Usaco2004 Jan]培根距离

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 16  Solved: 13
[Submit][Status][Discuss]

Description

    贝茜和其他奶牛联系是通过一连串的中间奶牛传递的,所以当第一头牛和贝茜联系,第二头牛和第一头牛联系,第三头牛和第二头牛联系,…一贝茜就能依次联系到其中的每一头奶牛. 联系长度是指传递过程中涉及的奶牛的数目(不包括贝茜).任何一头奶牛(不包括贝茜)的培根距离是指从贝茜到该奶牛的最小联系长度.最小的培根距离是1(当贝茜能够直接与该奶牛联系时).约输有C头牛,编号1到C,贝茜是1号.有P(1≤P≤10000)组奶牛相互联系.请找到最大的培根距离.

Input

    第1行:C和P.
    第2到P+1行:每行两头牛,它们之间有联系.

Output

 
    输出最大培根距离.

Sample Input

6 7
1 2
2 3
2 4
3 4
3 5
4 5
6 5

Sample Output

4
样例说明
从贝茜到6奶牛的距离是4.联系路径(2,4,5,6)和(2,3,5,6)都适合

HINT

 

Source

Orange

题解:spfa模板题,水水哒

在这个里面加入了一个新的优化方法,昨天在wnjxyk的空间里面看到的(OTLwnjxyk),在spfa入队前,可以在队列内的值进行判重操作,这样子可以提高速度,而且必要时可以起到压缩队列所用空间的作用,可以将队列有效长度控制在N以内,这样子必要时只需要开一个循环队列即可解决空间问题,GET!!!(OTLwnjxyk)

 type
point=^node;
node=record
g,w:longint;
next:point;
end;
var
i,j,k,l,m,n,f,r:longint;
p:point;
a:array[..] of point;
b,c:array[..] of longint;
d:array[..] of longint;
procedure add(x,y,z:longint);inline;
var p:point;
begin
new(p);p^.g:=y;p^.w:=z;
p^.next:=a[x];a[x]:=p;
end;
begin
readln(n,m);
for i:= to n do a[i]:=nil;
for i:= to m do
begin
readln(j,k);
add(j,k,);add(k,j,);
end;
fillchar(b,sizeof(b),);
fillchar(c,sizeof(c),);
fillchar(d,sizeof(d),);
f:=;r:=;
d[]:=;c[]:=;b[]:=;
while f<r do
begin
p:=a[d[f]];
while p<>nil do
begin
if ((b[p^.g]=) or ((b[p^.g]=) and (b[p^.g]>(b[d[f]]+p^.w)))) and (c[p^.g]=) then
begin
b[p^.g]:=b[d[f]]+p^.w;
c[p^.g]:=;
d[r]:=p^.g;
inc(r);
end;
p:=p^.next;
end;
c[d[f]]:=;
inc(f);
end;
for i:= to n do dec(b[i]);
l:=;
for i:= to n do if b[i]>l then l:=b[i];
writeln(l);
end.

3361: [Usaco2004 Jan]培根距离的更多相关文章

  1. BZOJ 3359: [Usaco2004 Jan]矩形( dp )

    数据范围这么小..怎么乱搞都可以吧... 先排序一遍然后O(n²) dp --------------------------------------------------------------- ...

  2. 3359: [Usaco2004 Jan]矩形

    3359: [Usaco2004 Jan]矩形 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 8  Solved: 5[Submit][Status] ...

  3. 3360: [Usaco2004 Jan]算二十四

    3360: [Usaco2004 Jan]算二十四 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 6  Solved: 6[Submit][Statu ...

  4. BZOJ3356 : [Usaco2004 Jan]禁闭围栏

    首先将坐标离散化,考虑从左往右扫描线 碰到插入操作则插入 碰到删除操作的: 当前包含i的矩形数=y1在[1,y2[i]]之间的矩形数-y2在[1,y1[i]-1]之间的矩形数 用两棵树状数组维护即可, ...

  5. BZOJ3355 : [Usaco2004 Jan]有序奶牛

    对于一条边x->y,若去掉之后x不能到达y,那么它是必需的. 首先拓扑排序求出拓扑序,然后按照终点拓扑序为第一关键字,起点拓扑序为第二关键字从小到大加边. 对于每个点,维护一个bitset,表示 ...

  6. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  7. BZOJ3355

    3355: [Usaco2004 Jan]有序奶牛 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 37  Solved: 19[Submit][Sta ...

  8. OJ题解记录计划

    容错声明: ①题目选自https://acm.ecnu.edu.cn/,不再检查题目删改情况 ②所有代码仅代表个人AC提交,不保证解法无误 E0001  A+B Problem First AC: 2 ...

  9. LCA【bzoj3364】 [Usaco2004 Feb]Distance Queries 距离咨询

    Description  奶牛们拒绝跑马拉松,因为她们悠闲的生活无法承受约翰选择的如此长的赛道.因此约翰决心找一条更合理的赛道,他打算咨询你.此题的地图形式与前两题相同.但读入地图之后,会有K个问题. ...

随机推荐

  1. Java学习之旅基础知识篇:数据类型及流程控制

    经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...

  2. C# winform ListView+CheckBox的做法

    1.设置ListView的属性:CheckBoxs=true 2.ListView字段第一列文本框为空,把工具箱里面的CheckBox控件拖到ListView的第一个字段做全选/全不选的控件. 3.C ...

  3. [JQuery]Jquery对象和dom对象

    jquery对象是jquery包装dom对象后产生的对象,它们都只能使用各自的方法. 1.定义变量时,通过$来区分: var $variable = jquery对象: var variable = ...

  4. Windows服务的创建、安装、卸载

    1.新建Window服务项目 2.添加安装配置文件 3.serviceProcessInstaller1右键属性,设置Account属性为LocalSystem. serviceInstaller1右 ...

  5. angular2使用官网npm install下载依赖失败的处理方法

    上一两个月在学习angular2,在下载依赖阶段看官网是直接自动下载的,[npm install] 就能把依赖全部弄下来.不过作为新手的我,是倒腾来倒腾去都倒不出来,因为老是报同一个错.官网也还有手动 ...

  6. matab plot指令和低通滤波器的响应图

    一.plot额外的四个属性模板使用 代码 % 提示 disp ('该功能练习plot额外四个属性功能'); %初始化快捷式数组 figure(); x=:pi/:*pi; y=exp(*sin(x)) ...

  7. js与android webview交互

    0x01 js调用java代码 android webview中支持通过添加js接口 webview.addJavascriptInterface(new JsInteration(), " ...

  8. Myeclipse删除default包

    MyEclipse删除default包(不显示default包) 很多时候,我们一不留神会出现下方这种情况,这个default包真难看 这里直接提供解决方案 之后点击这个Filter,然后去掉Empt ...

  9. Java丨博客系统

    后台界面: 前台界面: 这是一个由我带着刚入门的几位实习生做的一个博客系统,希望给java入门的学习者一个例子,这个系统还需要完善,主体功能是实现了,还差一些细节,如果需要源码的话可以在下方给我留言! ...

  10. JS中函数参数和函数返回值的理解

    函数本质就是功能的集合 JS中函数是对象,因此,函数名实际上仅仅是一个指向函数对象的指针,不会与某个函数绑定,所以,JS中没有重载(重载就是通过传递不同类型的参数,使两个相同函数名的函数执行不同的功能 ...