上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页
摘要: 最小表示法: 定义: 就是一个字符串的最小表示形式 解决过程: 将原字符串 \(s\) 复制一遍放在串尾 s=s+s; 设 \(i=0\) 指向字符串头,\(j=i+1\)。 int i=0,j=1,len=s.size()/2; 再设一个偏移量 \(k=0\) ,如果 \(s[i+k]==s[j+ 阅读全文
posted @ 2021-09-25 21:09 Evitagen 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 哈希表 引入: 如果我们要存放一堆数据,但是这些数据很大,直接用 \(vis\) 之类的不能忍一下。 而且要求尽量做到 \(O(1)\) 查询 那么就引入了哈希表。 定义: 散列表(又称哈希表,\(Hash Table\))是一种常用数据结构。它按照哈希特征分类存放,能够实现插入 \(O(1)\), 阅读全文
posted @ 2021-09-25 20:19 Evitagen 阅读(194) 评论(0) 推荐(0) 编辑
摘要: [CERC2014]Virus synthesis 题意: 初始有一个空串,有以下操作: 串开头或末尾添加一个字符 向前复制,形成回文串 询问要操作成给定的串需要多少次操作。 分析: 首先,我们还是先求出来对应给定的串的后缀自动机。 可以大致推算出来,这种题目一般都是 \(DP\) ,我们设 \(d 阅读全文
posted @ 2021-09-25 18:37 Evitagen 阅读(31) 评论(0) 推荐(0) 编辑
摘要: P5685 [JSOI2013]快乐的 JYY 题意: 给定两个字符串,求出两个串公共回文子串的个数。 分析: 还是先建立出 \(A\) 的后缀自动机。 考虑对于一个节点,我们应该记录它表示的回文串以它为后缀的回文串的总的出现次数。 统计以某个节点为后缀的,则总只会记录当前加入的 \(B\) 字符的 阅读全文
posted @ 2021-09-25 18:33 Evitagen 阅读(32) 评论(0) 推荐(0) 编辑
摘要: PAM-回文自动机 内容来自Vscoder 解释: 回文自动机是接受一个字符串的所有回文子串的自动机。 定义: 节点: 回文自动机中每个点表示在它的父节点两侧各加上一个儿子字符。 奇根偶根: 由于回文串有奇数长和偶数长两种情况,所以我们的回文自动机会有两种根-奇根和偶根。 偶根的节点编号为 \(0\ 阅读全文
posted @ 2021-09-24 23:01 Evitagen 阅读(59) 评论(1) 推荐(0) 编辑
摘要: \(Manacher\) 算法 引入: 先看两个字符串: \(abccba\) \(abcdcba\) 显然这两个字符串是回文的,但是两个串的对称中心的特性不同。 第一个串,它的对称中心是两个 \(c\) 中间,但是第二个串,对称中心就是 \(d\). 如果我们这样记录回文串的对称中心,就会复杂(因 阅读全文
posted @ 2021-09-24 16:41 Evitagen 阅读(41) 评论(0) 推荐(0) 编辑
摘要: P4052 [JSOI2007]文本生成器 题意: 给定一堆短字符串,再给定 \(m\) 长度的随机字符串(小写字符),求短字符串在随机字符串中出现的次数,对 \(10007\) 取模。 分析: 这种关于字符串出现次数之类的题目,基本上都是 \(AC\) 自动机。 有人说过,\(AC\) 自动机的 阅读全文
posted @ 2021-09-23 21:49 Evitagen 阅读(71) 评论(0) 推荐(0) 编辑
摘要: \(AC\) 自动机中的 \(Fail\) 树 引入: 思考一下 \(AC\) 自动机的匹配过程: 从第一个字符开始,每到达一个节点 \(x\) ,就从 \(x\) 开始不断跳 \(fail\) 到根。 期间跳到的节点代表的串都在文本串中出现。 进阶: 既然可以从文本串的每位开始向上跳 \(fail 阅读全文
posted @ 2021-09-23 21:48 Evitagen 阅读(659) 评论(0) 推荐(2) 编辑
摘要: P2607 [ZJOI2008]骑士 题意: 上司的舞会增强版 思路: 因为一个骑士有且只有一个最讨厌的人,而且这个骑士不会讨厌自己,即该图中是没有自环的。 利用有向图去维护信息: 我们把 \(x\) 所讨厌的人 \(y\) 设为 \(x\) 的父亲节点,这样每一个人都有且只有一条出边,每个点的出度 阅读全文
posted @ 2021-09-22 21:15 Evitagen 阅读(51) 评论(0) 推荐(1) 编辑
摘要: P2279 [HNOI2003]消防局的设立 题目大意: 有一棵树,有一些标记节点可以覆盖距离小于 \(2\) 的点,要求所有点都被覆盖,求这些节点个数最小值。 分析: 进行贪心分析:我们标记一个节点时,如果标记了根节点,那么一定是比叶子节点更加优秀的点。 这个贪心很好证明,画个图就可以了。 我们通 阅读全文
posted @ 2021-09-22 19:06 Evitagen 阅读(20) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页