会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
walfy
博客园
首页
新随笔
联系
管理
随笔- 556 文章- 0 评论- 6 阅读-
12万
随笔分类 -
字符串之回文自动机
hdu5421Victor and String 两端加点的pam
摘要:题意:要求维护两端加点的字符串,以及查询本质回文串个数和所有回文串个数 题解:pam,两端加点过程详见ioi2017国家集训队论文,维护一个最长回文前缀和最长回文后缀即可,fail不用两个,能前后共用一个.维护所有回文串个数,就是用增量法,每加一个点计算含这个点的回文串的个数(即当前回文后缀),即f
阅读全文
posted @
2019-04-14 13:17
walfy
阅读(146)
评论(0)
推荐(0)
编辑
ZOJ - 3661 pam
摘要:题意:给一个字符串,和每个字符代表的val,每个回文串的价值就是前半部分的val26进制%777777777,求价值第k小的回文串 题解:建个pam,然后dfs两边(0,1),统计价值sort一遍就好了 k爆int了,= =白wa了半天
阅读全文
posted @
2018-10-11 19:05
walfy
阅读(188)
评论(0)
推荐(0)
编辑
bzoj2342: [Shoi2011]双倍回文 pam
摘要:题解:先建pam,然后在fail树上dfs,从上到下的链如果有当前长度最远回文串的一半,那么更新答案 // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GCC optimize(4) // pragma GCC optimiz
阅读全文
posted @
2018-10-03 13:01
walfy
阅读(155)
评论(0)
推荐(0)
编辑
bzoj2565: 最长双回文串 pam
摘要:题意:找一个串中的最长连续两个回文子串长度 题解:建两个回文树,一个正着,一个反着,每次add之后last的长度就是后缀最长的回文串长度,然后两边加一遍即可 / Problem: 2565 User: walfy Language: C++ Result: Accepted Time:164 ms
阅读全文
posted @
2018-09-06 00:21
walfy
阅读(178)
评论(0)
推荐(0)
编辑
UVALive - 7041 G - The Problem to Slow Down You
摘要:题意:求两个串的公共回文子串个数 题解:建两个回文自动机,从0和1各跑一边就是答案了,因为对于回文自动机来说,从头开始dfs就能找出该字符串的所有回文串 // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GCC optimiz
阅读全文
posted @
2018-09-05 16:01
walfy
阅读(238)
评论(0)
推荐(0)
编辑
ACM-ICPC 2018 南京赛区网络预赛Skr
摘要:题意:求本质不同的回文子串的和 题解:先构造pam,然后根据pam的原理(ch表示在该节点表示的回文串两侧加上该字符)对于每个节点维护一个表示该节点字符串的值,加起来即可 // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GC
阅读全文
posted @
2018-09-04 16:25
walfy
阅读(209)
评论(0)
推荐(0)
编辑
bzoj3676: [Apio2014]回文串 pam
摘要:题意:字符串s。我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度。请你求出s的所有回文子串中的最 大出现值。 题解:pam板子题 //cnt数组表示该节点代表的回文串出现次数,add时如果要新建节点,则说明出现了本质不同的子串 / Problem: 3676 User: walf
阅读全文
posted @
2018-09-04 16:13
walfy
阅读(164)
评论(0)
推荐(0)
编辑
公告
昵称:
walfy
园龄:
7年11个月
粉丝:
26
关注:
19
<
2025年2月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
点击右上角即可分享