首页 > 其他分享 >8/4 floyd

8/4 floyd

时间:2023-08-04 17:14:32浏览次数:39  
标签:int yy xx floyd zz 1005

Floyd

#include<bits/stdc++.h>
using namespace std;

int n,m,s,e;
bool vis[10005];
int INF=0x3f3f3f3f;
int d[1005][1005];
int p[1005][1005];
int G[1005][1005];

void floyd(){
    int i,j,k;
    for(i=1; i<=n; i++){
        for(j=1; j<=n; j++){
            d[i][j]=G[i][j];
            if(d[i][j]<INF && i!=j){
                p[i][j]=i;
            }else {
                p[i][j]=-1;
            }
        }
    }
    for(k=1; k<=n; k++){
        for(i=1; i<=n; i++){
            for(j=1; j<=n; j++){
                if(d[i][k]+d[k][j]<d[i][j])    {
                    d[i][j]=d[i][k]+d[k][j];
                    p[i][j]=p[k][j];
                }
            }
        }
    }
}


int main(){
    memset(G,INF,sizeof(G));
    cin>>n>>m>>s>>e;
    for(int i=1; i<=m; i++){
        int xx,yy,zz;
        cin>>xx>>yy>>zz;
        G[xx][yy]=zz;
        G[yy][xx]=zz;
    }
    floyd();
    cout<<d[s][e]<<endl;
    return 0;
}

 

标签:int,yy,xx,floyd,zz,1005
From: https://www.cnblogs.com/dxy09tj/p/17606480.html

相关文章

  • 重做 CF 295B Greg and Graph 以及理解 Floyd
    Floyd原理简析Floyd的原理其实是DP,定义\(\mathrm{dp}[S][i][j]\)表示在仅经过点集\(S\)里的点的条件下,从\(i\)到\(j\)的最短路距离初始状态\(S\)为空,\(\mathrm{dp}[\varnothing][i][j]\)就等于\(i,j\)间的边长,没有边就是正无穷转移方程,在加入一个新的点\(k\)......
  • [学习笔记] 倍增 Floyd
    一、朴素Floydfor(inti=1;i<=n;++i){for(intj=1;j<=n;++j){for(intk=1;k<=n;++k){d[i][j]=min(d[i][j],d[i][k]+d[k][j]);}}}二、倍增Floyd/传递闭包要做\(k(\leq10^9)\)次Floyd,怎么办?......
  • CodeForces 1142E Pink Floyd
    洛谷传送门CF传送门感觉很神奇啊,想了挺久的。如果没有粉色边是容易的。竞赛图中,强连通分量缩点后,拓扑序较小的点向每一个拓扑序比它大的点连边。利用这个性质,我们维护一个答案集合\(S\),当\(|S|\ge2\)时,每次随意取出两个点\(u,v\inS\)。如果边的方向是\(u\tov\)......
  • 【路径规划】基于A星算法结合floyd和动态窗口法实现机器人栅格地图路径规划附matlab代
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • CF1196F K-th Path 题解 floyd
    题目链接:https://codeforces.com/problemset/problem/1196/F题目大意:给定一个包含\(n\)个节点\(m\)条边的无向图(\(n,m\le2\cdot10^5\))。图中任意两点之间(如果连通的话)都存在一条最短路(节点\(i\)到它自己不算最短路,\(i\)到\(j\)的最短路和\(j\)到\(i\)的最短......
  • Hugging News #0506: StarCoder, DeepFloyd/IF 好多新的重量级模型
    每一周,我们的同事都会向社区的成员们发布一些关于HuggingFace相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「HuggingNews」,本期HuggingNews有哪些有趣的消息,快来看看吧!StarCoder:最新的代码生成LLMBlog:ht......
  • 「学习笔记」Floyd 的应用
    求最短路for(intk=1;k<=n;++k){ for(inti=1;i<=n;++i){ for(intj=1;j<=n;++j){ f[i][j]=min(f[i][j],f[i][k]+f[k][j]); } }}求最小环过程记原图中\(u,v\)之间边的边权为\(val\left(u,v\right)\)。我们注意到Floyd算法......
  • 图的最短路问题(综合详解!!!看这一篇就够了)(spfa-Dijkstra-floyd-模板代码c-)
    文章目录图论:三种最短路及模板模板SPFA算法Floyd算法Dijkstra算法例题与应用反向建边最短路计数1488.最短距离3305.作物杂交4074.铁路与公路图论:三种最短路及模板注意:在这三种算法中我均使用的链式前向星存图,具体方式请看我这篇博客:链式前向星存图详解模板SPFA算法spfa是优化......
  • Floyd算法注意事项
    注意事项:k层循环不能内置Floyd适用于求解全源最短路径问题,即对于给定的图G,求解任意两点之间的最短路径长度。模板#include<bits/stdc++.h>usingnamespacestd;constintN=105;intdis[N][N];voidFloyd(){ memset(dis,0x3f3f3f,sizeof(dis));//初始化为极大值 //......
  • LeetCode 双周赛 102,模拟 / BFS / Dijkstra / Floyd
    本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]提问。大家好,欢迎来到小彭的LeetCode周赛解题报告。昨晚是LeetCode双周赛第102场,你参加了吗?这场比赛比较简单,拼的是板子手速,继上周掉大分后算是回了一口血......