自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 题解111

【代码】题解111。

2025-06-04 11:28:02 119

原创 点分治解析

但有些题目没有给定的起点和终点,如果强行使用LCA,就会得到O(n^2logn)的时间复杂度。当然,这时候也可以直接挨个点暴力DFS遍历,那样也会得到O(n^2)的时间复杂度。有了些前置处理后,当K的上限比较小时,我们可以用桶来存路径的长度,当两段路径到一个点的路径之和等于所需值时即可,这也是该算法的关键。点分治和直接暴力遍历的最大区别就是:不遍历所有点,而是遍历重心。由此,就可以对时间复杂度进行优化,达到O(nlogn)。另外,还需要从重心开始遍历,得到其子树中所有节点到重心的距离,代码如下。

2025-05-06 21:08:49 474

原创 网络流之最大流(Dinic)

不是最大流,但增加它会阻塞分层图中的所有路径。每次找到阻塞流后,必须重建分层图才能继续增广。Dinic算法每次迭代找到一个阻塞流,而非单条增广路径。在DFS中只允许向更深层的节点推进,避免“绕远路”。可以避免重复检查,每次重建分层图后要重置iter数组。此外,之后反向边的更新并不会影响之前的边。在了解了Ford-Fulkerson 和Edmonds-Karp之后,我们可以进一步学习更高效的算法——Dinic。首先我们要知道Dinic中几个重要的概念和优化。,实际运用过程中是比EK算法快的。

2025-04-26 20:16:36 430

原创 网络流之最大流(Edmonds-Karp)

先前已经实现了Ford-Fulkerson求最大流,但对于最大流较大的题目会超时,这时我们引入一种新的算法,Edmonds-Karp算法。该算法时Ford算法的优化,相比于Ford,可以ac洛谷模板题,且代码长度相差不大。因此,大多数情况下在这两者间我们会选择后者(如果不会Dinic等优化方法的话)。代码总体与Ford-Fulkerson求最大流相似,详细我会在代码中说明。可见,BFS找增广路径可强制走最短路径,提高了算法的效率。(V=顶点数,E=边数),总时间复杂度。),DFS 会极其缓慢甚至无法终止。

2025-04-24 21:20:08 502

原创 网络流之最大流(Ford-Fulkerson)

初学网络流还是很懵的,尽管有一点二分图匹配的经验,面对一堆不熟悉的术语还是应接不暇。因为每天很忙已经很久没有写文章了。最近在学习上有点卡进度,这几天有点颓废,故重拾博客,助力自己学习。推荐大家在感觉脑子比较乱的时候通过类似的方式来梳理一下。

2025-04-24 19:09:50 401

原创 图及拓扑排序的使用

通过洛谷提单中的四道题进行练习。

2025-02-25 16:27:50 838

原创 图的拓扑排序

图的拓扑排序

2025-01-09 00:00:03 279

原创 并查集的合并应用(带权)

并查集带权合并

2025-01-08 11:44:14 515

原创 树的遍历(已知两种求第三种)

算法笔记

2025-01-07 21:40:49 453

原创 KMP算法

kmp算法笔记

2025-01-07 20:15:37 1501

原创 并查集合并的三种方式(路径压缩,按秩合并,启发式合并)

并查集的三种合并方式

2025-01-06 10:24:45 1688 6

原创 树的最近公共祖先(LCA)倍增求法

最近公共祖先(LCA):即给出两个节点x和y,找到他们不断向上爬首次共有的祖先。如图所示,8和6的公共祖先为1,10和7的公共祖先为3,4和5的公共祖先为2。如果使用朴素算法来解决问题,时间复杂度将会达到o(n^2),这里我们将使用倍增法,时间复杂度为o(nlogn)。那么倍增法该怎么做呢。我们将建立以个二维数组fa[i][j],其中i代表该节点,j表示向上走2^j,fa[i][j]即表示i节点向上走2^j后到达的节点。

2025-01-06 09:18:21 886 2

原创 树的重心(等权与带权)

树的重心的求法

2025-01-05 20:11:24 2067 3

原创 树的直径(c++)

关于求树的直径的两种做法

2025-01-05 19:08:00 1003 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除