随笔分类 - 字符串
包括字符串数据结构
摘要:给定 $n,m$ 和一个长度为 $n$ 的字符串 $S$。求有多少不同的 $T$,使得它和 $S$ 的最长公共子序列长度恰好为 $n-1$。所有字符都在 $[0,m)$ 之间。
数据范围:$1\le n\le 10^5$,$2\le m\le 26$。
阅读全文
摘要:给定字符串 $s$,求每个左右端删除长度相等的子串的最长奇 `border` 长度。
数据范围:$2\le |S|\le 10^6$。
阅读全文
摘要:给定 $n$ 个字符串,从中选出若干个按给出顺序连接起来,总长等于 $m$,求字典序最小的,保证有解。
数据范围:$1\le n\le 2000$,$1\le k\le 10^4$,字符串总长 $S\le 10^6$。
阅读全文
摘要:$T$ 组测试数据。给定字符串 $S$,问有多少不同的非空字符串 $A$,$B$,$C$ 满足 $S=ABABAB...ABC$ 且 $A$ 中出现奇数次的字符数不多于 $C$。
数据范围:$1\le T\le 5$,$1\le |S|\le 2^{20}$。
阅读全文
摘要:给定两个字符串 $a,b$,要求出两个数组:$b$ 的 $z$ 函数数组 $z$、$b$ 与 $a$ 的每一个后缀的 `LCP` 长度数组 $p$。
数据范围:$1\le |a|,|b|\le 2\times 10^7$。
阅读全文
摘要:给 $n$ 个 $01$ 串 $s_i$,$m$ 个询问问 $s_{l\sim r}$ 的最长公共子串长度。
数据范围:$1\le n\le 20000$,$1\le m\le 10^5$,$\sum |s_i|\le 4\cdot 10^5$。
阅读全文
摘要:给 $n$ 个字符串 $s_i$ 和 $q$ 个询问,刚开始字符串都服役。每次操作将集合中的一个字符串设为退役或服役,或查询与文本串 $S_i$ 的匹配的服役字符串总次数。
数据范围:$1\le n,q\le 10^5$,$1\le \sum|s_i|,\sum|S_i|\le 10^6$。
阅读全文
摘要:KMP 作用:在一个文本字符串中找模式字符串出现次数、位置。 前缀知识:$\color{ 60d000}{\textbf{字符串}}$。 算法名字来源:发明人 $\texttt{Knuth(D.E.Knuth)&Morris(J.H.Morris)&Pratt(V.R.Pratt)}$。 比如要在文
阅读全文
摘要:"\[SDOI2014\]数数" 这题的前置知识是AC自动机和dp,前置题目是 "\[JSOI2007\]文本生成器" ,前置题目我写的题解 "题解 \[JSOI2007\]文本生成器" 。我的讲解假设你做过上面那道题。 这题比上面那题多个条件,我因此多调了 $3$ 个小时。多的条件:答案要不大于整
阅读全文
摘要:作用:单文本串多模式串匹配。 前置知识:trie树。 AC自动机可以看作是在字典树上做 KMP,但并不是把 KMP 算法放到树上来,而是用了一种和 KMP 类似的思想,即在字典树上匹配文本串的时候如果失配,就跳到 \(fail\) 指针所指的节点,所以学AC自动机没必要精通 KMP。 拿例题来讲:给
阅读全文
摘要:数据结构 字符串 字典树 参考资料 暂无 字典树就是著名的 $trie$ 树,是未来学很多字符串自动机的必备前置知识。 用处:插入字符串,查找字符串出现次数。 这个数据结构就是一个有根树,根节点编号为 $1$。除了根节点外,每个节点上有一个字母。对于每个节点 $x$,$ch[x][c]$ 表示这个节
阅读全文

浙公网安备 33010602011771号