05 2024 档案
摘要:重新整理一下扩欧。 扩展欧几里得就是欧几里得算法也就是辗转相除法的扩展应用,扩展后的作用主要为求二元一次方程组的一个解。 基本原理 众所周知,一个式子是无法确定两个未知数的唯一值的,因此 exgcd 只能解出一种符合要求的解,但是因为有通解的存在,你可以由这个解推出其他所有的可能解。 先看看扩展的地
阅读全文
摘要:原题链接:P1020 [NOIP1999 提高组] 导弹拦截 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 相当好的一道题,用于理解使用 [[狄尔沃斯定理(Dilworth 定理)]] 当然这个定理肯定不止这么简单。 第一问就是让求一个最大不上升子序列,如果用 DP 求解,将是
阅读全文
摘要:历时两天,算是搞出来了。 P10380 「ALFR Round 1」D 小山的元力 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 提醒 首先如果你是用 Lucas 定理并用阶乘形式来求组合数的,请判断组合数是否成立,即 , 是否大于等于 。如
阅读全文
摘要:有点时间补一下这玩意吧。 首先先说明 RMQ 是一类问题,指 区间最值问题,而 ST 表是解决 RMQ 问题的一把手术刀(手术刀,锋利但不通用)。 作用 的预处理。 的区间最值查询。 不可以更改区间数值。 原理 原理是倍增。 我们将设 \(f[i][j]
阅读全文
摘要:LCA 就是最近公共祖先,表示为 ,它的求解方法主要有两种。 倍增法 这是最常用的一种可以动态求 LCA 的算法。时间复杂度为 。 中心思想 这个算法中有两个特殊的数组: 和 \(fa[i][
阅读全文
摘要:题目链接P1119 灾后重建 先读题意,就是求在 时间时当前 到 的最短路,并且当前 和 村都必须重建完毕。即然一两点间距离。再看一眼数据范围,可以知道需要用到 Floyd 算法。 比较暴力的,可能会用 次 Floyd 把每次时
阅读全文
摘要:为数不多的全源最短路算法,全源即,全部点为原点,即算出任意两个点之间的最短路径。 前提条件,没有负环。可有负权。 因为中心思想是动态规划,所以有很强的性质,做题的时候注意利用。 中心思想 中心思想为动态规划。 现在我们设 f[k][i][j] 表示从点 到点 ,只经过 \(1\
阅读全文
摘要:基本上用不到的算法,和高精度一样,不常用,用到了又无可代替 常用于限制边数的最短路算法。 使用范围 可以处理任意边权的图,可以处理负环,可以判断负环。 时间复杂度 。因为太慢了,在求最短路的时候基本用不到,但是它的优化版SPFA则大大优化了时间复杂度,算是最短路里最好用的算法,有很
阅读全文
摘要:这算是我的第一篇使用LaTeX的文章 易写,支持负权,可判负环,可以求最短路,也可以最长路,什么都行。就是容易被卡qwq 所以SPFA他死了。是Bellman_Ford算法的队列优化版。 使用范围 支持负权,可以处理负环,可判负环,可以求最短路,也可以求最长路。 平均时间复杂度 ,极
阅读全文
摘要:非常经典的单源最短路算法。仅能用于正权图(边权可为 ) 拥有朴素版 和堆优化版 朴素版一般用邻接矩阵存图 而优化版使用邻接表或者链式前向星,我常用链式前向星 中心思想 每次在没用过的点内找一个距离起点最近的点,用这个点对其他
阅读全文
摘要:存边的结构,也是挺简单的,重点就三个数组h,ne,e和一个变量idx idx是index索引的缩写,这就是它的作用,索引。 时间空间复杂度都是 很不错 h是存的表头,ne存的是下一个点的idx,e是当前点的序号,一般还有一个w存的是当前点的权值 更详细一些 h[a]表示a的表头,里
阅读全文