随笔分类 -  图论

摘要:传送门 分析 本题的 \(n\) 较小,用 Floyd 以 \(O(n^3)\) 的复杂度即可通过 我们首先来看 Floyd 的代码: for(int k=1;k<=n;k++) { for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { dp[i][j]=s 阅读全文
posted @ 2021-01-31 15:14 雾隐 阅读(141) 评论(0) 推荐(0)
摘要:加减最短路 即为路径中的边权权值相加,用 dijstra 或 SPFA 等处理即可,代码略 乘积最短路 即为路径中的边权权值相乘求得最短路(边权均为正数) 此问题中我们发现对于乘法来说,我们一般使用的加法最短路的条件就不成立了,因为在该问题中如果直接相乘就必须涉及取模运算,否则会爆精度,但是这样一来 阅读全文
posted @ 2021-01-08 17:00 雾隐 阅读(131) 评论(0) 推荐(0)
摘要:最近公共祖先 1.暴力 将点按照父子关系依次向上查询,知道两个点发生重合 # include <stdio.h> # include <string.h> # define N 40010 # define M 2*N using namespace std; int Next[M],head[N] 阅读全文
posted @ 2020-12-04 11:25 雾隐 阅读(135) 评论(0) 推荐(1)
摘要:最小生成树 kruskal 运用贪心的思想,每次将边权最小且两端点均未被标记的点加入,并将点标记,重复执行直到有 \(n-1\) 条边已选 #include<iostream> #include<cstdio> #include<math.h> #include<cstring> #include< 阅读全文
posted @ 2020-12-04 10:59 雾隐 阅读(113) 评论(0) 推荐(0)
摘要:最短路径树 Define 最短路径树即为由一个给定的点出发,到每一个点的最短路径所构成的一棵树 求法 在图中设置一个根节点,进行一遍 dijkstra ,在过程中就可以处理出它的一棵最短路径树 例题 黑暗城堡 本题只需求得所用的最短路径树的数量即可 code #include<iostream> # 阅读全文
posted @ 2020-12-04 10:48 雾隐 阅读(123) 评论(0) 推荐(0)
摘要:虽然SPFA已死,但是SPFA还是很有用处的 具体实现与dijkstra 相似,但是是利用队列优化,在广度上进行求解(可处理负边权),在每次松弛时,保证所有深度为n的路径最短 应用 1.存在负边权 2.每个点可以被多次经过 3.判断负(正)环 code #include<iostream> #inc 阅读全文
posted @ 2020-12-01 11:06 雾隐 阅读(307) 评论(0) 推荐(0)
摘要:树的直径一般有两种求法,一是两次dfs或bfs,另一种是树形dp 两次bfs (dfs) 具体实现上,就是进行两次搜索,第一次的时候以任意的节点为根进行遍历,找到一个距离最远的点,即为直径起点,第二次的时候以该起点为根进行搜索,再找到距离最远的点,即为直径的终点 注:两次搜索的处理方法可以有效地寻找 阅读全文
posted @ 2020-12-01 10:55 雾隐 阅读(138) 评论(0) 推荐(0)
摘要:关于树的重心 Define 一棵具有n个节点的无向树,若以某个节点为整棵树的根,他的每个儿子节点的大小都>=n/2 ,则这个节点即为该树的重心 性质 删除重心后所得的所有子树,节点数不超过原树的1/2,一棵树最多有两个重心 树中所有节点到重心的距离之和最小,如果有两个重心,那么他们距离之和相等 两个 阅读全文
posted @ 2020-12-01 10:44 雾隐 阅读(207) 评论(1) 推荐(0)
摘要:传送门 分析 首先,乍一看本题可能没有思路,但是手推一下这几组样例: 样例一 其中入度等于出度的点为 1,3,5 样例二 其中入度等于出度的点为 1,5,6 由此,我们可以发现,所以的入度等于出度的点,其入度与出度之和为偶数,于是我们可以猜想:最大化的满足入度等于出度的点,那么其中满足条件的节点的出 阅读全文
posted @ 2020-10-09 17:25 雾隐 阅读(102) 评论(0) 推荐(0)
摘要:传送门:https://www.luogu.com.cn/problem/P4779 dijstra 算法用于对单源最短路的求解问题,运用堆优化后,可以在O$((+)\times\log_2)$的复杂度内解决两点之间的最短路问题 实现方法: dijstra 算法基于贪心的思想实现 对于一个未更新的权 阅读全文
posted @ 2020-07-11 09:30 雾隐 阅读(108) 评论(0) 推荐(0)