摘要:
概述 字符串算法。本来想跟 KMP 放一块说的,结果发现自己直到 HASC2025 才学会。这里单独拿出来简要记录一下。 Manacher 算法主要用于处理与回文子串相关的问题。对于给定字符串\(S\)的任意一个位置,这种算法可以处理出以该位置为中心的回文串的最长半径。据说这对许多询问回文子串相关的 阅读全文
posted @ 2025-07-17 12:40
Lordreamland
阅读(15)
评论(0)
推荐(0)
摘要:
矩阵乘法 两个矩阵相乘,前提是一个矩阵的列数必须等于另一个矩阵的行数。矩阵乘法的规则是拿左边的一行与右边的一列中的元素先相乘再相加。形式上就是如果\(A_{n,m}\times B_{m,q}\),答案矩阵\(C\)中 \[C_{i,j}=\sum_{i = 1}^{m}A_{i,k}\times 阅读全文
posted @ 2025-07-17 12:40
Lordreamland
阅读(107)
评论(0)
推荐(0)
摘要:
两种做法本质上都是划分子问题后进行解决,基于分治思想,但要求离线。 CDQ分治 偏序问题 有一个 count stars 的题,说有一片星星(不超过\(6e4\)),给出所有坐标(整数,大概\(3e4\)范围),求出对于每个星星,有多少个星星在它的左下方。 这个叫二维偏序,可以先对着横坐标\(x\) 阅读全文
posted @ 2025-07-17 12:39
Lordreamland
阅读(13)
评论(0)
推荐(0)
摘要:
部分内容参考了 OI Wiki 和一些 blog ,对于一些时间复杂度的证明等细节去那里找。 KMP算法 引入 考虑一个问题,有一个字符串\(s\)和一个模式串\(t\),如何求出\(t\)在\(s\)中的出现次数和每次出现的位置? 我们有一个简单的\(O(n^2)\)做法,但如果要求在\(O(n) 阅读全文
posted @ 2025-07-17 12:39
Lordreamland
阅读(12)
评论(0)
推荐(0)
摘要:
网络流的初步认识 所谓网络,就是一张有向图\(G=\{V,E\}\),对于图中每条有向边\((x,y)\in E\),都有一个容量\(c(x,y)\),特别的,如果\((x,y)\notin E\),那么\(c(x,y)=0\)。网络中还有两个特殊的节点,分别是源点\(S\)和汇点\(T\)。每条有 阅读全文
posted @ 2025-07-17 12:38
Lordreamland
阅读(29)
评论(0)
推荐(0)
摘要:
可能会不定期\(update\) 二分图定义 顾名思义,所谓二分图就是一个无向图的所有节点可以分成两个非空集合,集合内没有边相连,仅在两个集合之间有边相连。两个集合分别称为二分图的左部和右部。根据定义容易辨识出下图就是一个二分图。 二分图判定 \(定理:一张无向图是二分图,当且仅当图中不存在长度为奇 阅读全文
posted @ 2025-07-17 12:38
Lordreamland
阅读(9)
评论(0)
推荐(0)
摘要:
分块 1.概述 分块可以用于处理对于一段区间的修改和查询操作,当然线段树等多种数据结构也可以实现这一功能。相较而言,分块码量较短,比较好想,但细节也并不少。 分块的核心操作是将区间划分为长度相等的若干块,对于每块长度,一般取\(sqrt(n)\),但有时要具体问题具体分析。当遇到一段需要查询或修改的 阅读全文
posted @ 2025-07-17 11:43
Lordreamland
阅读(28)
评论(0)
推荐(0)

浙公网安备 33010602011771号