图论
文章平均质量分 63
YikNjy
难留少年时,总有少年来。
展开
-
构图acwing3775
链接题目题意:就是给你n个数,叫你构造出所有点不相对应的组合。解法:假设成功补全所有f[i].i|1~n均出现且只出现一次 --> 所有点出度为1f|1~n均出现且只出现一次 --> 所有点入度为1==> 补全后图形为若干个环, 称为环图.#include<iostream>#include<cstring>using namespace std;const int N=210010;int e[N],ne[N];原创 2021-08-09 17:20:25 · 58 阅读 · 0 评论 -
最小生成树 专题之prim算法与kruskal
本篇博客来自南昌理工学院acm队写作缘由:复习和重新练习最小生成树。最小生成树1.作者建议:对于学习最小生成树最好是明白以下关于图的概念:(1).连通图:在无向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该无向图为连通图。(2).强连通图:在有向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该有向图为强连通图。(3).连通网:在连通图中,若图的边具有一定的意义,每一条边都对应着一个数,称为权;权代表着连接连个顶点的代价,称这种连通图叫做连通网。(4).原创 2021-07-18 10:39:25 · 261 阅读 · 1 评论 -
树的同构
大佬的文章#include<cstdio>#define MaxTree 10#define Null -1#include<stdio.h>#define MaxTree 10#define Null -1 //将Null定义为-1而不能是0,因为数组下标为0的地方仍保存有节点typedef char ElementType;typedef int Tree;struct TreeNode{ //定义二叉树节点 ElementType Dat原创 2021-05-23 17:42:20 · 2013 阅读 · 0 评论 -
最短路 专题二之 bellman-ford及优化版本的spfa
专题二bellman-ford算法适用于存在负权边的稀疏图(有最短路径限制)。时间复杂度:O(nm)。bellman-ford算法的步骤如下:(1)把所有点到源点的距离初始化为∞,把源点到源点的距离初始化为0;原因:以防有部分点没有连接在大的图上,初始化一下。(2)遍历 最短路径数量的 次数 去遍历所有的边,更新所有的边用每一条边去更新各点到源点的距离 。原因:限制了最短路径,那么每一次只遍历和节点相连的点,更新边长。细节问题:(1) 需要把dist数组进行一个备份,这样防止每次更新的原创 2021-06-01 20:28:34 · 105 阅读 · 0 评论 -
最短路 专题一之 dijkstra及堆优化的dijkstra
1)把所有点到源点的距离初始化为∞,把源点到源点的距离初始化为0;2) 在所有未确定最短距离的点中选择到源点最小距离的点,用该点更新其他的点(松弛);3) 把该次选择出的点加入到确定最小距离集合中。4) 重复 2)~3)直到所有点都加入集合中。...原创 2021-06-01 14:08:17 · 372 阅读 · 0 评论