首页 > 其他分享 >图论

图论

时间:2023-08-16 17:45:11浏览次数:27  
标签:图论 false int 28 sync 1001

一、弗洛伊德

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int INF = INT_MAX;
 4 int n,m,a[1001][1001],f[1001][1001];
 5 int main(){
 6     ios::sync_with_stdio(false);
 7     cin>>n>>m;
 8     for(int i=1;i<=n;i++){
 9         for(int j=1;j<=n;j++){
10             if(i==j) f[i][j]=0;
11             else f[i][j]=INF;
12         }
13     }
14     int a,b,c;
15     for(int i=0;i<m;i++){
16         cin>>a>>b>>c;
17         f[a][b]=c;
18     }
19     for(int k=1;k<=n;k++){
20         for(int i=1;i<=n;i++){
21             for(int j=1;j<=n;j++){
22                 if(f[i][j]>f[i][k]+f[k][j]){
23                     f[i][j]=f[i][k]+f[k][j];
24                 }
25             }
26         }
27     }
28     for(int i=1;i<=n;i++){
29         for(int j=1;j<=n;j++){
30             cout<<f[i][j]<<" ";
31         }
32         cout<<endl;
33     }
34     return 0;
35 }

 

标签:图论,false,int,28,sync,1001
From: https://www.cnblogs.com/jacy1234/p/17635779.html

相关文章

  • 图论口胡记录
    图论口胡记录Xor-MST\(Borvuka\)算法版题\(Borvuka\)的流程是每次对于每个联通块中都找到一条向外部最小的边,然后再将边相连的两个连通块合并。可以发现每次连通块的个数都会减半,只会合并\(\log_n\)次,那么中间找最小边的过程中,对于没有显式建边的题目我们就可以用数据结构维护......
  • 图论之存图-----邻接矩阵
    跟着思路敲了一遍,感觉清晰多了,但是还得多复习。就是利用了深度搜索,很奇妙。点击查看代码#include<bits/stdc++.h>usingnamespacestd;constintN=2e5+10;intw[N][N];intvis[N];intn,m;inta,b,c;voiddfs(intu){ vis[u]=true; if(vis[u]){ for(inti=1;i<=......
  • [图论]树
    树一、树的重心概念和性质(1).概念树的重心也叫树的质心。对于一棵树\(n\)个节点的无根树,找到一个点,使得把树变成以该点为根的有根树时,最大子树的结点数最小。换句话说,删除这个点后最大连通块(一定是树)的结点数最小。(2).性质1.树中所有点到某个点的距离和中,到重心的距离和是最小......
  • 【图论】最近公共祖先(LCA)
    什么是LCA最近公共祖先是相对于两个节点来说的,顾名思义,最近公共祖先即为两个节点公共的最近的祖先。如上图,\(86\)和\(67\)的\(LCA\)是\(75\),\(67\)和\(27\)的\(LCA\)是\(50\)。怎么求LCA倍增法我们先想想暴力怎么做:从这两个节点开始,一步一步往上跳,直到跳到了一......
  • 图论2023年版
    图基本概念什么是图?图实际上是一个二元组\(G=(V,E)\),其中V是图中所有的点形成的点集,而E是边集每一条边都可以描述成(u,v),u和v都是V中的元素(v,w∈V)点数,即V中元素个数也称为G的阶图的分类图可以按照边有无方向分类,分为有向图和无向图无向图:每条边都是无向边的图称......
  • 图论一
    图论(1)图的存储直接存边inte[N];e[1]=3;//1->3有条边邻接表inth[N],e[N],ne[N],idx;voidadd(inta,intb){e[idx]=b,ne[idx]=h[a],h[a]=idx,idx++;}voidinit(){meset(h,-1,sizeof(h));//所有头结点为空}也可以用vectore[N];图的遍历树和图的深度......
  • Codeforces 1857D:Strong Vertices 与图论无关的出度最大统计
    1857D.StrongVerticesDescription:给定两个长度均为\(n\)的数组\(a\)和\(b\)(编号\(1\)~\(n\)),如果\(a_u-a_v\geqb_u-b_v\)\((u\neqv)\),那么从\(u\)到\(v\)建立一条有向边。"Strong"定义为:一个点\(V\)可以经过有向图中合法的通路到达其他所有的点。请求解出"......
  • 图论学习笔记
    图图论绘图在线图是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系!点一般用字母v表示,如v1,v2,v3,v4一些简单的术语:路径:一些边组成的序列,满足第一条边的终点......
  • 图论强联通分量(tarjan)算法
    图论强联通分量(tarjan)算法#include<bits/stdc++.h>usingnamespacestd;intn,m,cnt,cntb,ans;vector<int>edge[101];vector<int>belong[101];boolinstack[101];intdfn[101];intlow[101];stack<int>s;voidTarjan(intu){ ++cnt; dfn[u]=......
  • 【笔记】图论:网络流和二分图
    网络流的求法https://www.cnblogs.com/caijianhong/p/16863491.htmlmisc复杂度分析Dinic的复杂度上界为\(O(n^2m)\)。但是特殊情况下会更快,如二分图匹配是\(O(m\sqrtn)\)的;确定流量上限\(f\)时,复杂度为\(O(mf)\)。最小费用最大流的复杂度上界为\(O(nmf)\)。......