BZOJ 1682: [Usaco2005 Mar]Out of Hay 干草危机
Description
牛们干草要用完了!贝茜打算去勘查灾情.
有N(2≤N≤2000)个农场,M(≤M≤10000)条双向道路连接着它们,长度不超过10^9.每一个农场均与农场1连通.贝茜要走遍每一个农场.她每走一单位长的路,就要消耗一单位的水.从一个农场走到另一个农场,她就要带上数量上等于路长的水.请帮她确定最小的水箱容量.也就是说,确定某一种方案,使走遍所有农场通过的最长道路的长度最小,必要时她可以走回头路.
Input
第1行输入两个整数N和M;接下来M行,每行输入三个整数,表示一条道路的起点终点和长度.
Output
输出一个整数,表示在路线上最长道路的最小值.
题解:
Djk求从1到每个点,路径上最大边的最小值,取max即可。
代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
//by zrt
//problem:
using namespace std;
typedef long long LL;
const int inf(0x3f3f3f3f);
const double eps(1e-9);
int H[2005],X[20005],P[20005];
LL E[20005];
LL d[2005];
int tot;
inline void add(int x,int y,LL z){
P[++tot]=y;X[tot]=H[x];H[x]=tot;E[tot]=z;
}
int n,m;
int x,y;
LL z;
struct N{
int x;
LL w;
N(int a=0,int b=0){
x=a,w=b;
}
friend bool operator < (N a,N b){
return a.w>b.w;
}
};
priority_queue<N> q;
bool vis[2005];
int main(){
#ifdef LOCAL
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
#endif
scanf("%d%d",&n,&m);
memset(d,0x3f,sizeof d);
for(int i=0;i<m;i++){
scanf("%d%d%lld",&x,&y,&z);
add(x,y,z);
add(y,x,z);
}
d[1]=0;
q.push(N(1,0));
while(!q.empty()){
x=q.top().x;q.pop();
if(vis[x]) continue;
vis[x]=1;
for(int i=H[x];i;i=X[i]){
if(d[P[i]]>max(d[x],E[i])){
d[P[i]]=max(d[x],E[i]);
q.push(N(P[i],d[P[i]]));
}
}
}
LL ans=0;
for(int i=2;i<=n;i++) ans=max(ans,d[i]);
printf("%lld\n",ans);
return 0;
}
BZOJ 1682: [Usaco2005 Mar]Out of Hay 干草危机的更多相关文章
- bzoj 1682: [Usaco2005 Mar]Out of Hay 干草危机【并查集+二分】
二分答案,把边权小于mid的边的两端点都并起来,看最后是否只剩一个联通块 #include<iostream> #include<cstdio> using namespace ...
- 1682: [Usaco2005 Mar]Out of Hay 干草危机
1682: [Usaco2005 Mar]Out of Hay 干草危机 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 391 Solved: 258[ ...
- 【BZOJ】1682: [Usaco2005 Mar]Out of Hay 干草危机(kruskal)
http://www.lydsy.com/JudgeOnline/problem.php?id=1682 最小生成树裸题.. #include <cstdio> #include < ...
- bzoj1682[Usaco2005 Mar]Out of Hay 干草危机*
bzoj1682[Usaco2005 Mar]Out of Hay 干草危机 题意: 给个图,每个节点都和1联通,奶牛要从1到每个节点(可以走回头路),希望经过的最长边最短. 题解: 求最小生成树即可 ...
- [Usaco2005 Mar]Out of Hay 干草危机
题目描述 Bessie 计划调查N (2 <= N <= 2,000)个农场的干草情况,它从1号农场出发.农场之间总共有M (1 <= M <= 10,000)条双向道路,所有 ...
- 【最小生成树】BZOJ1682[Usaco2005 Mar]-Out of Hay 干草危机
...最小生成树裸题,9月最后一天刷水刷水. #include<iostream> #include<cstdio> #include<algorithm> usi ...
- BZOJ 1615: [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机
题目 1615: [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机 Time Limit: 5 Sec Memory Limit: 64 MB Desc ...
- BZOJ 1739: [Usaco2005 mar]Space Elevator 太空电梯
题目 1739: [Usaco2005 mar]Space Elevator 太空电梯 Time Limit: 5 Sec Memory Limit: 64 MB Description The c ...
- BZOJ 1738: [Usaco2005 mar]Ombrophobic Bovines 发抖的牛( floyd + 二分答案 + 最大流 )
一道水题WA了这么多次真是.... 统考终于完 ( 挂 ) 了...可以好好写题了... 先floyd跑出各个点的最短路 , 然后二分答案 m , 再建图. 每个 farm 拆成一个 cow 点和一个 ...
随机推荐
- Java双向链表实现
public class DoublyLinkList { private class Data{ private Object obj; private Data left = null; priv ...
- jQuery实现jsonp源码分析(京东2015面试)
// Bind script tag hack transportjQuery.ajaxTransport( "script", function(s) { // This tra ...
- 关于Arrays类总结
Arrays是java中的工具类,其中所有的方法都是static.类名就可以直接调用其中的方法. 本文部分引用自: http://www.importnew.com/8952.html Arrays. ...
- 关于gnome
关于GNOME GNOME(发音为英语发音:/ɡəˈnoʊm/[4]),即GNU网络对象模型环境(英语:The GNU Network Object Model Environment),GNU计划的 ...
- 自定义EL函数:小写转大写
1,定义java静态方法,FunctionDemo,有小写转大写的功能 package com.itheima.domain; public class FunctionDemo { public s ...
- ~/.ssh目录找不到解决方法
执行 cd ~/.ssh发现ssh目录找不到 [root@ocdp2 ~]# cd ~/.ssh -bash: cd: /root/.ssh: No such file or directory 原因 ...
- c++和c#之间的类型转换
//C#调用C++的DLL搜集整理的所有数据类型转换方式,可能会有重复或者多种方案,自己多测试 //c++:HANDLE(void *) ---- c#:Sy ...
- python 笔记(一)
1.Python优点 简单,优雅,明确 强大的模块第三方库 易移植 面向对角 可扩展 2.缺点 代码不能加密 执行速度慢 3.变量定义 第一个字母必须是字母表中的大小写,或下划线.不能以数字为开头. ...
- .net链接Oracle数据操作类库
public abstract class OracleHelper { public OracleHelper() { } /// <summary> /// 数据库连接字符串 /// ...
- 【小丸类库系列】Word操作类
using Microsoft.Office.Interop.Word; using System; using System.Collections.Generic; using System.Dr ...