摘要:
KMP 模式匹配 $\text{Update 2021.7.2}$:用 $\rightarrow$ 代替了 $\LaTeX$ 公式中的 \ to\ ,更新了代码中一句不必要的边界判断。 KMP 算法得名的缘由:由三位计算机科学家 $\text{Knuth}$ ,$\text{Morris}$,$\t 阅读全文
摘要:
最大异或数对 在《算法竞赛进阶指南》 by 李煜东一书中,我看到了这个问题,但是某洛谷 OJ 上没有此题,(书上给出原题题号 CH1602 ,我压根不知道这个是哪个 OJ ,就放弃了 AC 原题的想法,知道原题网址的朋友可以在下方评论)所以我找到了洛谷上另一个题意相似的题目代替它。 Part 1 按 阅读全文
摘要:
人类分块精华(Ex) 优雅,永不过时。 艺术的暴力,暴力的艺术——分块。 文艺分块术 没错,不是文艺平衡树,而是文艺分块术!!! Part 1 Problem 您需要写一种数据结构,来维护一个长度为 $n$ 的有序数列 $A$,其中 $A_i=i$ 。 其中需要提供以下操作:反转一个区间,例如原有序 阅读全文
摘要:
人类分块精华(二) 优雅,永不过时。 艺术的暴力,暴力的艺术——分块。 Part 1 问题引入 在很久很久以前,程序设计师们遇到了这样一个问题。 对于一个长度为 $n(n\leq 2e5)$ 的数组 $A$ 有以下几种操作一共 $m(m\leq 2e5)$ 次 : $ \text{Insert}$ 阅读全文
摘要:
优雅,永不过时。 暴力的艺术,艺术的暴力——分块。 Part 1 分块原理 众所周知,线段树和树状数组都可以在 \(log(n)\) 的时间里解决序列区间求和的问题。但是使用线段树或者树状数组有一个前提:必须满足区间可加性原则。有一些不满足区间可加原则的值(譬如众数),很难使用线段树或者树状数组进行 阅读全文
摘要:
平衡树 Treap 详解 吐槽:网上关于平衡树的详解,解答的不是很详细。并且大部分只谈原理,没有涉及到代码实现,即使给出了代码也没有添加注释,导致我找了很长时间才明白了原理并且写出一棵 Treap 。 Part 1 关于平衡树 平衡树的实质是一棵二叉搜索树(BST),二叉搜索树是一颗有根二叉树,并且 阅读全文
摘要:
今天看到了一道在有向图上求解最小环的题目,于是yy出了这样一个算法。虽然因为种种原因没过,但是其正确性是可以保证的,所以整理一下。 对于一个有向图 \(G\) 来说,我们要求解其最小环,其实就是求出某一个点出发到达它自己的最短路径。 于是可以使用最短路算法,这里我们使用 dijkstra 来求解最短 阅读全文
摘要:
回到队里2周,开始系统复习旧算法和学习新算法,整理之前没整理过的算法 什么是强连通分量 强连通图(Strongly Connect Graph)是指:如果在有向图 $G$ 中,对于每两个不同的点 $v_i,v_j$,有一条 $v_i$ 到 $v_j$ 的简单路径存在,那么称 $G$ 是强连通图。 有 阅读全文
摘要:
好久没有学OI了,今天突然回来打了一场比赛,T1是矩阵快速幂+高斯消元,想到快速幂算法啥的我也一直没有整理笔记,索性一起整理一下。 Part 1 什么是快速幂? 假设现在我们有两个整数:$n,k$现在要求你求出$n^k$对$1e9+7$的模是多少? 显然一个简单的算法就是$O(n)$把$k$个$n$ 阅读全文
摘要:
Day 0 中午请假从学校出发,依然是自驾到了日照(好像在某个服务区面到了同学? 晚上去吃了顿火锅,回酒店的路上去街边的一家面包店随便买了点面包准备明天早上糊弄一下早饭 到酒店打开笔记本想写题,但是打开B站无法自拔,10点多被母后强行要求去睡了 Day 1 考前 早上极不情愿的从床上爬起来,胡乱吃了 阅读全文