C++图论

文章探讨了算法在解决实际问题中的应用,涉及二分图的最大匹配、最小点覆盖和最大独立集等经典图论问题,以及广度优先和深度优先搜索、动态规划等方法。还提及了与树结构相关的最短路径、最小生成树、拓扑排序和特殊形态如基环树的问题.
摘要由CSDN通过智能技术生成

算法可以发掘本质,如:
一,若干师傅和徒弟互有好感,有好感的师徒可以结对学习。师傅和徒弟都只能参加一个对子。如何让对子最多。
二,有无限多1X2和2X1的骨牌,某个棋盘若干格子坏了,如何在没有坏的格子放足够多骨牌。
三,某个单色图,1表示前前景,0表示后景色。每次操作可以将一个1,变成0。如何在最少得操作情况下,使得没有两个1相邻(四连通)。
四,若干路人,有些人是熟人,如何选出最多的人参加实验。为了避免熟人影响实验的效果,参加的人不能是熟人。
一二是二分图的最大匹配,三是二分图的最小点覆盖,四是二分图最大独立集。 而这三者是等效问题。

子分类

深度优先搜索汇总

广度(宽度)优先搜索

C++算法:广度优先搜索(BFS)的原理和实现

并集查找

C++二分查找或并集查找:交换得到字典序最小的数组
【图论】【并集查找】【C++算法】928. 尽量减少恶意软件的传播 II
【广度优先搜索】【图论】【并集查找】2493. 将节点分成尽可能多的组

最短路径

C++算法:多源最短路径的原理及实现
C++算法:存在负权边的单源最短路径的原理和实现
动态规划 多源路径 字典树 LeetCode2977:转换字符串的最小成本
【单源最短路 图论】882. 细分图中的可到达节点
暂无题解:
2203

最小生成树

【图轮】【 最小生成树】【 并集查找】1489. 找到最小生成树里的关键边和伪关键边

拓扑排序

【图论】【拓扑排序】1857. 有向图中最大颜色值
【拓扑排序】【 图论】1203. 项目管理
【图论】【树】 【拓扑排序】2603. 收集树中金币
【逆向思考 】【拓扑排序】1591. 奇怪的打印机 II
暂无题解:2050 2392

【图论 深度优先搜索】树的直径
换根法
【深度优先搜索】【C++算法】834 树中距离之和
【图论】【深度优先搜索】【换根法】2858. 可以到达每一个节点的最少边反转次数
【树上倍增】【割点】 【换根法】3067. 在带权树网络中统计可连接服务器对数目
树的路径
【深度优先搜索】【树】【状态压缩】2791. 树中可以形成回文的路径数

欧拉路径、欧拉环

【深度优先搜索】【图论】【推荐】332. 重新安排行程
【数学】【深度优先搜索】【图论】【欧拉环路】753. 破解保险箱
【欧拉回路】【图论】【并集查找】765. 情侣牵手
暂无题解:2097

基环树

基环树,也是环套树,是一种有 n 个点 n 条边的图,简单地讲就是树上在加一条边。它形如一个环,环上每个点都有一棵子树的形式。
基环内向树:每个点出度为1(因此每个环上点的子树,儿子指向父亲)
基环外向树:每个点入度为1(因此每个环上点的子树,父亲指向儿子)
基环树的关键就是找到环,可以先把环当作这个无根树的 “根” ,也就是把环当成一个点(先不管它),这样一颗基环树就变成了一个普通的树,然后我们先按照解决普通树的方法对“根”的所有子树依次处理求解答案

【图论】【基环内向树】【广度优先】【深度优先】2127. 参加会议的最多员工数

暂无题解:
2876 有向图访问计数 基环内向树
2360图中的最长环

树上倍增

【树上倍增】2836在传球游戏中最大化函数值
【深度优先】【树上倍增 】2846. 边权重均等查询

扩展内容难道较大

二分图(染色判定、最大匹配)

【广度优先搜索】【二分图】【并集查找】2493. 将节点分成尽可能多的组
【二分图】【二分图最大匹配】LCP 04. 覆盖

割点、割边

很难点,割点周赛、双周赛没出过。 割边出现过一次。
割点原理及封装好的割点类 有四五题应用,不是必选算法

【图论】【 割边】【C++算法】1192. 查找集群内的关键连接

评论 86
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闻缺陷则喜何志丹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值