- 博客(79)
- 收藏
- 关注
原创 无向图的连通性问题
本文介绍了无向图的连通分量、割点与桥、双连通分量等概念及其算法实现。主要内容包括: 连通分量:通过DFS或并查集算法求解无向图的连通分量,时间复杂度分别为O(n+m)和O(n+mα(n))。 割点与桥: 割点是删除后增加连通块数的节点,桥是删除后增加连通块数的边 使用Tarjan算法通过时间戳(dfn)和追溯值(low)在线性时间内识别 给出割点判定法则(dfn[x]≤low[y])和桥判定法则(dfn[x]<low[y]) 双连通分量: 边双连通分量(e-DCC):不含桥的极大子图,通过删除桥后DF
2025-07-27 23:15:50
766
原创 欧拉图与欧拉回路
本文介绍了欧拉路问题的基本概念与求解方法。欧拉回路指通过图中每条边恰好一次的回路,欧拉通路则是通过每条边一次的通路。无向图中,欧拉图要求所有顶点度数为偶数且连通,半欧拉图要求恰有两个奇度顶点且连通。文章详细讲解了使用DFS和栈求解欧拉回路的算法流程,包括递归和非递归实现,并给出了C++代码模板。算法通过优化邻接表访问将复杂度降至O(N+M)。最后列出了相关练习题供读者实践。
2025-07-27 23:12:06
724
原创 背包问题及 LIS 优化
本文系统讲解了动态规划中背包问题的解法及其优化策略。首先介绍了记忆化搜索转递推的通用方法,重点分析了01背包、完全背包和多重背包三类经典问题。01背包通过状态转移方程f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]+c[i])实现O(nW)时间复杂度的求解,并展示了空间优化技巧;完全背包通过调整转移方程实现相同复杂度;多重背包则提出二进制拆分优化将复杂度降至O(W∑logai)。文章还探讨了LIS问题的单调性优化解法,利用Dilworth定理将问题转化为O(nlogn)的二分查找问题
2025-07-26 23:28:03
927
原创 树上倍增和LCA问题
摘要:最近公共祖先(LCA)是树形结构中的核心概念,广泛应用于路径查询、距离计算等场景。本文介绍了四种LCA求解方法:朴素算法(O(n)查询)、倍增法(O(nlogn)预处理,O(logn)查询)、欧拉序+RMQ(O(nlogn)预处理,O(1)查询)和Tarjan离线算法(O(nα(n)))。重点分析了倍增法和欧拉序+RMQ的实现原理,并讨论了LCA在子树查询、路径修改、虚拟树构建等问题中的应用,最后通过例题展示了LCA的实际应用场景。
2025-07-26 23:22:25
678
原创 拓扑排序(初中组)
定义边有向,无环。英文名叫 Directed Acyclic Graph,缩写是 DAG。一些实际问题中的二元关系都可使用 DAG 来建模。性质能 拓扑排序 的图,一定是有向无环图;如果有环,那么环上的任意两个节点在任意序列中都不满足条件了。有向无环图,一定能拓扑排序;(归纳法)假设节点数不超过 kk 的 有向无环图都能拓扑排序,那么对于节点数等于 kk 的,考虑执行拓扑排序第一步之后的情形即可。
2024-07-31 15:18:06
722
原创 进制和进制转换
进制的全称是进位计数制,是人为定义的带进位的计数方法,对于任何一种X进制,就表示每一位置上的数运算时都是逢 X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,X进制就是逢X进位。
2023-07-26 12:39:32
5015
3
原创 7-6 广度优先和深度优先搜索的一些总结
注:搜索本质上就是枚举,只不过是一种有策略的枚举搜索算法是利用计算机的高性能来有目的的穷举一个问题解空间的部分或所有的可能情况,从而求出问题的解的一种方法。现阶段一般有枚举算法、深度优先搜索、广度优先搜索、A*算法、回溯算法、蒙特卡洛树搜索、散列函数等算法。搜索本质上就是枚举,只不过是一种有策略的枚举,通常在搜索前,根据条件降低搜索规模;根据问题的约束条件进行剪枝;利用搜索过程中的中间解,避免重复计算这几种方法进行优化。搜索算法实际上是根据初始条件和扩展规则。
2023-07-25 17:46:43
513
1
原创 6-8 二分查找
今天是端午节,祝大家端午节快乐~。言归正传┏ (゜ω゜)=☞二分查找也称折半查找,它是一种效率极高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列,就是:数据要是有序排列的。
2023-06-22 13:39:47
643
1
原创 深搜-剪枝优化
通过前面深搜的学习,相信同学们已经掌握了搜索的基本思路。但有些问题直接搜索会得到部分分,并不会得到满分,而且分析其时间复杂度也很高。这时候就需要优化,提高搜索效率。在之前的递归章节,已经介绍了一种优化方式——记忆化。本节重点学习剪枝的优化方式。
2023-06-16 22:41:35
1150
1
原创 Monge 矩阵(topscoding六一)这么卷?
我就做做玩玩结果!!!!!!!!!!!!!!!!!!!!!!!详见topscoding主页比赛小学组!
2023-06-01 22:00:01
399
8
原创 动态规划01背包问题(2)
好了,这动态规划01背包问题已经完结了;下一期,播放量到170马上更新下一期,下一期不见不散~祝大家劳动节快乐~~~~~
2023-05-01 11:59:29
185
原创 小 C 的数学(math)
言归正传┏ (゜ω゜)=☞小 C 想要成为一名 OIer,于是他提前学习数学,为 OI 做好铺垫。这一天,他的数学老师给了一道题:给定正整数 a,以及给定一个区间 [b, c],其中 b, c 均为整数(b, c 保证非负)。寻找所有合法的 x,满足 b ≤ x ≤ c,并且 a 能够整除 x,即 x 除以 a 的余数为 0。可小 C 很懒,不想找出来所有的解,他只想知道这样的 x 有多少个。从文件 math.in 中读取数据。共一行,依次三个整数 a, b, c,如题目所描述。
2023-04-30 13:38:20
1071
4
空空如也
解密(topscoding)
2023-05-31
修正成绩(2121)
2023-05-27
A@B(topscoding)
2023-05-31
桐桐数(超时)不知怎么办(C++)
2023-05-14
找筷子(chopsticks.cpp)
2023-04-22
亲密数字(number)
2023-04-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人