摘要: 开始我最爱的tarjan吧。 说一句,Tarjan 最难的不是算法学习,而是如何使用。 有向图的强连通分量 有向图的强连通分量,是指在有向图的一块地方,在这块地方里面,每个点都能互相到达,这就叫做一个强连通分量 定义 这里是OI wiki上的定义 强连通的定义是:有向图 G 强连通是指,G 中任意两 阅读全文
posted @ 2024-06-08 08:37 blind5883 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 这道题 P2716 和谐的雪花 本质和 P2216 [HAOI2007] 理想的正方形 是一模一样的,评蓝有点高了。 本题解解法为单调对列。当然,看题目,是可以使用 ST 表或者线段树之类的做。中心思想就是用单调队列维护固定区间内最大最小值,加上二分答案。 根据题意,很容易想象到二分 \(n\) 的 阅读全文
posted @ 2024-06-06 10:56 blind5883 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 定理内容 中国剩余定理(孙子定理),这是用来解出一堆线性同余方程组同一解的定理,通常会给出一对同余方程。如下,其中任意两个 \(mi\) 互质,求解 \(x\) \[\begin{aligned} x &\equiv a_1 \pmod {m_1} \\ x & \equiv a_2 \pmod { 阅读全文
posted @ 2024-06-04 15:36 blind5883 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 可能不全,老文章在这 什么是通解,我们知道二元一次方程,是如果只有一个式子,那么解会有无数个,而通解就是指让我们只找到一个解就可以推出其他所有解的式子。 注意以下变量都为整数。 知道了定义下面就是推式子了,首先设 \(x, y\) 是 \(ax + by = \gcd(a, b)\) 的一个解,那么 阅读全文
posted @ 2024-06-02 15:40 blind5883 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 重新整理一下扩欧。 扩展欧几里得就是欧几里得算法也就是辗转相除法的扩展应用,扩展后的作用主要为求二元一次方程组的一个解。 基本原理 众所周知,一个式子是无法确定两个未知数的唯一值的,因此 exgcd 只能解出一种符合要求的解,但是因为有通解的存在,你可以由这个解推出其他所有的可能解。 先看看扩展的地 阅读全文
posted @ 2024-05-31 12:19 blind5883 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 原题链接:P1020 [NOIP1999 提高组] 导弹拦截 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 相当好的一道题,用于理解使用 [[狄尔沃斯定理(Dilworth 定理)]] 当然这个定理肯定不止这么简单。 第一问就是让求一个最大不上升子序列,如果用 DP 求解,将是 阅读全文
posted @ 2024-05-26 21:08 blind5883 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 这是重新整理的欧拉函数,会把欧拉函数的一些性质说出来。 欧拉函数即 \(\varphi(i)\),表示从 \([1, i]\) 之间和 \(i\) 互质的数的数量 ( \(a\) 和 \(b\) 互质即 \(\gcd(a, b) = 1\))。 注意当 \(i=1\) 时,\(\varphi(1) 阅读全文
posted @ 2024-05-25 21:54 blind5883 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 历时两天,算是搞出来了。 P10380 「ALFR Round 1」D 小山的元力 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 提醒 首先如果你是用 Lucas 定理并用阶乘形式来求组合数的,请判断组合数是否成立,即 \(C_a^b\),\(a\) 是否大于等于 \(b\)。如 阅读全文
posted @ 2024-05-25 17:18 blind5883 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 有点时间补一下这玩意吧。 首先先说明 RMQ 是一类问题, 指 区间最大最小值, 而ST表是解解决 RMQ 问题的一把手术刀(手术刀, 锋利但不通用)。 作用 \(O(\log n)\) 的预处理 \(O(1)\) 的区间最大值查询 不可以更改区间数值 原理 原理是倍增 我们将设 \(f[i][j] 阅读全文
posted @ 2024-05-25 16:49 blind5883 阅读(4) 评论(0) 推荐(0) 编辑
摘要: LCA 就是最近公共祖先,表示为 \(\operatorname{lca}(a, b)\),它的求解方法主要有两种。 倍增法 这是最常用的一种可以动态求 LCA 的算法。时间复杂度为 \(O(\log{n})\)。 中心思想 这个算法中有两个特殊的数组:\(depth[i]\) 和 \(fa[i][ 阅读全文
posted @ 2024-05-21 14:59 blind5883 阅读(3) 评论(0) 推荐(0) 编辑