随笔分类 - 图论
摘要:Dijkstra算法,堆优化版本复杂度是mlog(m)。适合于没有负权的图。 #include <bits/stdc++.h> using namespace std; using LL = long long; const int N = 1e5 + 5; const int INF = 0x3f
阅读全文
摘要:图论常见结论 二分图: 最大匹配:二分图中一个边的集合中,当任意两条边都不相交于同一个节点时,这个边集被称作一个匹配,这个集合最大时,称为一个最大匹配。 最小点覆盖:如果选定一个点,看做选择了它连接的所有边,能涵盖所有边时且节点最少时,称为最小点覆盖。 最大独立集:选出一些点,使得它们两两没有边连接
阅读全文
摘要:最大团问题 首先介绍一些基本概念: 1、什么是团?如果一个子图是一个无向图的完全子图,那么可以称为一个团。 2、什么是极大团?如果一个团不是任何一个团的子集,那么可以称做一个极大团。 3、如果一个极大团的大小是最大的,那么可以被称为一个最大团。 最大团有以下常见性质,这里不加证明的直接给出结论。 最
阅读全文
摘要:树的重心与相关性质 重心的定义:当一个点是整颗树的重心时,以它为根的所有的子树尺寸都不超过整颗树一半。 寻找重心,一般是找最大子树尺寸最小的点。这个可以通过简单dfs得到。具体见下面的代码。 重心的相关性质: 1、所有点到这个点的距离和是最小的(默认边权为1)。 例题 代码: #include<bi
阅读全文
摘要:牛课周周练 12 B 传送门 题目大意:给一张n个点,m条边的无向图(n<=2e5,m<=2e5)。现在给一些关键点,找一下离这些关键点最近的一个关键点,并且输出距离。 分析:考虑到多源最短路的复杂度的复杂度高达,肯定是不能跑这个算法的。从小到大考虑所有关键点到其他点的
阅读全文