传送门
题意: 找0到所有点中最短路的最长的一个(可能会点达不到)
直接跑spfa
因为不会spfa 还提前了解了bellman-ford
/***
for( n )
for(所有边)
a->b a,b,w
随便存边
dis[b] = min (dis[b],dis[a]+w)
松弛操作
可以看出 bellman-ford 类似直接暴力
循环n次之后一定满足
dis[b] dist[t] + w[i])
{
dist[j] = dist[t] + w[i];
if (!st[j])
{
q.push(j);
st[j] = true;
}
}
}
}
return dist[n];
}
int main()
{
scanf("%d%d", &n, &m);
memset(h, -1, sizeof h);
while (m -- )
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
add(a, b, c);
}
int t = spfa();
int maxn = 0;
int mp =0;
for(int i=n;i>=1;i--)
{
if(dist[i]>=maxn)
maxn =dist[i],mp=i;
}
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?