Top_Sort+Floyd实现关键路径
Posted boruto
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Top_Sort+Floyd实现关键路径相关的知识,希望对你有一定的参考价值。
Top_Sort+Floyd实现关键路径
#include<iostream> using namespace std; int n,m; int g[5000][5000]; int in[5000]; int top[5000]; int d[5000]; void top_sort() { for(int i=1;i<=n;i++) { int k=1; while(k<=n&&in[k]!=0)k++; in[k]=0x7fffffff; top[i]=k; for(int o=1;o<=n;o++)if(g[k][o]!=0)in[o]--; } } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { int a,b,c; cin>>a>>b>>c; g[a][b]=c; in[b]++;//b的入度++ } top_sort();//拓扑排序 for(int i=2;i<=n;i++) for(int o=1;o<=i-1;o++) if(g[top[o]][top[i]]+d[top[o]]>d[top[i]]) d[top[i]]=g[top[o]][top[i]]+d[top[o]]; cout<<d[top[n]]; }
以上是关于Top_Sort+Floyd实现关键路径的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces1204C. Anna, Svyatoslav and Maps (贪心 + Floyd)
C++ 实现带权有向图的每对顶点之间的最短路径Floyd算法(完整代码)
了解极小极大/极大极小路径 (Floyd-Warshall)
2021.11.14数据结构实验课作业——图的应用(最小生成树和最短路)
图论中的重要算法(Dijstra,Bellman-Ford,Floyd,Ford-Fulkerson,匈牙利算法)的详细解读及实现