![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文章平均质量分 87
小陈同学_
C++ && 算法爱好者
展开
-
闇の連鎖(LCA+树上差分)
砍掉主要边之后,无论砍掉哪条附加边也不能将图变为两部分,所以此方案是不可行的—>ans+=0。砍掉主要边之后,必须要砍掉该附加边才可以使图变为两部分,所以只有一种方案—>ans++砍掉主要边之后,无论砍掉哪条附加边,图还是两部分,所以有m中方案—>ans+=m;条附加边并且任意两点之间都由主要边相连,说明该图是由主要边构成的一棵树。个节点和两类边,一类边被称为主要边,而另一类被称为附加边。就会进入防御模式,主要边会变为无敌的而附加边可以被切断。的附加边都处于无敌状态,你只能选择一条主要边切断。原创 2022-10-07 15:58:31 · 302 阅读 · 1 评论 -
最短Hamilton路径 (状压DP)
题目给定一张 nnn 个点的带权无向图,点从 0∼n−10∼n−10∼n−1 标号,求起点 000 到终点 n−1n−1n−1 的最短 HamiltonHamiltonHamilton 路径。HamiltonHamiltonHamilton 路径的定义是从 000 到 n−1n−1n−1 不重不漏地经过每个点恰好一次。输入格式第一行输入整数 nnn。接下来 n 行每行 nnn 个整数,其中第 iii 行第 jjj 个整数表示点 iii 到 jjj 的距离(记为 a[i,j]a[i,j]a[i,j]原创 2022-05-31 18:55:45 · 228 阅读 · 18 评论 -
闇の連鎖(LCA+树上差分)
题目传说中的暗之连锁被人们称为 DarkDarkDark。DarkDarkDark 是人类内心的黑暗的产物,古今中外的勇者们都试图打倒它。经过研究,你发现 DarkDarkDark 呈现无向图的结构,图中有 NNN 个节点和两类边,一类边被称为主要边,而另一类被称为附加边。DarkDarkDark 有 N–1N–1N–1 条主要边,并且 DarkDarkDark 的任意两个节点之间都存在一条只由主要边构成的路径。另外,DarkDarkDark 还有 MMM 条附加边。你的任务是把 DarkDar原创 2022-05-30 10:26:56 · 473 阅读 · 24 评论 -
克鲁斯卡尔算法
什么是克鲁斯卡尔算法在知道克鲁斯卡尔算法之前我们先来看一下什么是最小生成树。最小生成树:在一个有n个结点的无向图中选出最少的边,保证所选边权相加之和最小以及该图中依然有n个结点并且n个结点连通。一共有n个结点,要保证连通,至少需要n-1条边。最小生成树的权值:w(t)=∑(u,v)∈tw(u,v)w(t)=\sum\limits_{(u,v)\in t}^{}w(u,v)w(t)=(u,v)∈t∑w(u,v)下面我们用图看一下什么是最小生成树:在该图中,我们留下这四条边就可以保证各个结点原创 2022-05-28 08:08:20 · 7928 阅读 · 31 评论 -
匈牙利算法
一、匈牙利算法(俗称“渣男算法”?)匈牙利算法是对于一个二分图的概念上求一个最大匹配。二、关于二分图什么是二分图?请看这个链接:二分图那什么是二分图的匹配和最大匹配呢?二分图的匹配:给定一个二分图 G,在 G 的一个子图 M 中,M 的边集 {E} 中的任意两条边都不依附于同一个顶点,则称 M 是一个匹配。二分图的最大匹配:所有匹配中包含边数最多的一组匹配被称为二分图的最大匹配,其边数即为最大匹配数。下面我们看图文解释:在这张图中,我们发现每一条边两边所依附的顶点都是不同的,并且四组都可以原创 2022-05-23 09:24:06 · 6130 阅读 · 35 评论 -
染色法判定二分图
二分图 染色法原创 2022-05-20 22:28:45 · 1461 阅读 · 22 评论 -
强连通分量——tarjan算法缩点
一. 什么是强连通分量?强连通分量:在有向图G中,如果两个顶点u,v间(u->v)有一条从vi到vj的有向路径,同时还有一条从u到v的有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量。简单点说就是:如果一个有向图中,存在一条回路,所有的结点至少被经过一次,这样的图为强连通图。在强连图图的基础上加入一些点和路径,使得当前的图不在强连通,称原来的强连通的部分为强连通分量。二. 强连通分原创 2022-05-18 19:18:44 · 1387 阅读 · 8 评论