题解
「ZJOI2012」小蓝的好友-Treap
· ☕ 4 min read

简单版题意:

给定一个 $R \times C$ 的矩形,在其中 $N$ 个位置有随机生成的资源点。现在请你求出在所有的子矩形中,至少包含一个资源点的矩形数量。


「POI2014」Salad Bar-瞎搞
· ☕ 2 min read

有一个长度为 $n$ 的字符串,每一位只会是 $\text{p}$ 或 $\text{j}$ 。求一个最长子串,使得不管是从左往右还是从右往左取,都保证每时每刻已取出的 $\text{p}$ 的个数不小于 $\text{j}$ 的个数。


「POI2013」Price List-图论
· ☕ 3 min read

给定一个 $n$ 个点,$m$ 条边的无向联通图,每条边的权值均为 $a$。

原图所有满足 $u$ 节点和 $v$ 节点间最短路为 $2 \times a$ 的点对 $(u,v)$ 间建立一条无向边,边的权值均为 $b$。

给定一个起始节点$k$,求在上述操作后,$k$到所有节点的最短路径。


「POI2006」Periods of Words-KMP
· ☕ 2 min read

一个串是有限个小写字符的序列,特别的,一个空序列也可以是一个串. 一个串 $P$ 是串 $A$ 的前缀, 当且仅当存在串 $B$ , 使得 $A = PB$. 如果 $P \neq A$ 并且 $P$ 不是一个空串,那么我们说 $P$ 是 $A$ 的一个 $proper$ 前缀. 定义 $Q$ 是 $A$ 的周期, 当且仅当 $Q$ 是 $A$ 的一个 $proper$ 前缀并且 $A$ 是 $QQ$ 的前缀(不一定要是 $proper$ 前缀).

比如串 $abab$ 和 $ababab$ 都是串 $abababa$ 的周期. 串 $A$ 的最大周期就是它最长的一个周期或者是一个空串(当 $A$ 没有周期的时候), 比如说, $ababab$ 的最大周期是 $abab$ . 串 $abc$ 的最大周期是空串. 给出一个串,求出它所有前缀的最大周期长度之和.


「JSOI2007」文本生成器-AC自动机+dp
· ☕ 2 min read

可读版题意:

给定 $n$ 个仅包含大写字母的模板串,求所有的长度为 $M$ 且仅包含大写字母的不同字符串中,有多少个包含至少一个模板串。答案对 $10007$ 取模。


「POI2010」Antisymmetry-后缀数组
· ☕ 2 min read

对于一个 $0/1$ 字符串,如果将这个字符串 $0$ 和 $1$ 取反后,再将整个串反过来和原串一样,就称作“反对称”字符串。比如 $00001111$ 和 $010101$ 就是反对称的, $1001$ 就不是。

现在给出一个长度为 $n$ 的 $0/1$ 字符串,求它有多少个子串是反对称的。


「TJOI2013」单词-后缀数组+二分
· ☕ 2 min read

可读版题意:

给定 $n$ 个字符串,第 $i$ 个字符串的长度为 $M_i$ ,求每个字符串在所有字符串中出现的次数。

数据范围:$n \leq 100,\ M = \sum M_i \leq 10^6$.


「HNOI2008」GT考试-KMP+dp+矩阵快速幂
· ☕ 2 min read

阿申准备报名参加 $GT$ 考试,准考证号为 $n$ 位数 $X_1X_2\cdots X_n(0\le X_i\le 9)$,他不希望准考证号上出现不吉利的数字。

他的不吉利数字 $A_1A_2\cdots A_m(0\le A_i\le 9)$ 有 $m$ 位,不出现是指 $X_1X_2\cdots X_n$ 中没有恰好一段等于 $A_1A_2\cdots A_m$,$A_1$​ 和 $X_1$ 可以为 $0$。

阿申想知道不出现不吉利数字的号码有多少种,输出模 $K$ 取余的结果。


「POI2000」病毒-AC自动机
· ☕ 1 min read

二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段,试问,是否存在一个无限长的安全的二进制代码。