Maxwei_wzj的OI世界

Imagination is more important than knowledge.

排序:
默认
按更新时间
按访问量

【BZOJ5417】你的名字(NOI2018)-后缀自动机+主席树

测试地址:你的名字 做法:本题需要用到后缀自动机+主席树。 首先考虑l=1,r=|S|l=1,r=|S|l=1,r=|S|的情况。考虑TTT的每个前缀的贡献,我们需要找到它最短的没在SSS中出现过,而且没在TTT的前面部分出现过的后缀,这样包含它的所有后缀就都是合法的贡献了。显然这个后缀的长度...

2018-08-10 13:03:04

阅读数:128

评论数:0

【BZOJ1396】识别子串-后缀自动机+线段树

测试地址:识别子串 做法:本题需要用到后缀自动机+线段树。 很快能有一个想法,就是用后缀自动机求出所有识别子串,然后在线段树上区间更新。可是识别子串的数目可能很多,直接更新会挂,这是不是就意味着不能做呢?别急,先来考虑识别子串这个性质会不会使它的分布更加特殊。 很快我们便观察到了一个事实,包...

2018-08-09 12:12:12

阅读数:28

评论数:0

【BZOJ2806】熟悉的文章(CTSC2012)-广义SAM+二分+DP+单调队列

测试地址:熟悉的文章 做法:本题需要用到广义SAM+二分+DP+单调队列。 首先,LLL的性质显然是单调的,所以我们二分LLL。接下来容易想到DP,令f(i)f(i)f(i)为以第iii个字符结尾的前缀最多能有多少个字符被符合条件的子串覆盖,容易得到状态转移方程: f(i)=max(f(i−...

2018-05-27 15:55:34

阅读数:51

评论数:0

【HDU4622】Reincarnation-后缀自动机

测试地址:Reincarnation 题目大意:给定一个字符串sss,qqq个询问,每次询问sss的一个子串s[l,r]s[l,r]s[l,r]内有多少个不同的子串。 做法:本题需要用到后缀自动机。 注意到一个子串就是一个后缀的一个前缀,而对于求一个串所有前缀中有多少个不同的子串显然可以用后...

2018-04-04 08:33:17

阅读数:40

评论数:0

【BZOJ4516】生成魔咒(SDOI2016)-后缀自动机+map

测试地址:生成魔咒 做法:本题需要用到后缀自动机+map。 看到网上一大堆后缀数组+一堆奇奇怪怪数据结构的做法,再回来看这个,肯定会感觉很小清新,这也体现了后缀自动机的优越性:支持在线在串后面添加字符并构建对应的后缀自动机。 我们知道答案等于∑len[i]−len[pre[i]]∑len[i...

2018-04-03 21:06:46

阅读数:25

评论数:0

【BZOJ3926】诸神眷顾的幻想乡(ZJOI2015)-广义后缀自动机

测试地址:诸神眷顾的幻想乡 做法:本题需要用到广义后缀自动机。 仔细读题,我们发现树的叶子节点非常少,只有202020个,那么我们把从一个叶子节点到另一个叶子节点所经过的串列出来,我们发现这些串包含树上的每条路径,证明是显然的。 接下来出现了一个问题,后缀自动机是处理单个串的子串的一个数据结...

2018-04-03 16:57:09

阅读数:30

评论数:0

【BZOJ3238】差异(AHOI2013)-后缀自动机+树形DP

测试地址:差异 做法:本题需要用到后缀自动机+树形DP。 我们把字符串翻转,那么原串两个后缀的最长公共前缀就变成了两个前缀的最长公共后缀。注意到在后缀自动机上,两个子串的最长公共后缀就是它们在后缀链接上的LCA,那么我们先建出后缀自动机,然后在后缀链接上DP,对于每个点,求以这个点为LCA的所...

2018-04-02 20:04:21

阅读数:33

评论数:0

【BZOJ3998】弦论(TJOI2015)-后缀自动机

测试地址:弦论 做法:本题需要用到后缀自动机。 先说点题外话:今天是一个特殊的日子,那就是本蒟蒻在BZOJ成功AC100道题啦!可喜可贺,可喜可贺…… 好了好了,话说回来,本题要求两种东西:第KKK大的子串和第KKK大本质不同的子串。一看这个数据范围,就知道O(nlogn)O(nlog⁡n)...

2018-04-02 18:58:41

阅读数:41

评论数:0

【SPOJ7258】Lexicographical Substring Search-后缀自动机+拓补序递推

【SPOJ7258】Lexicographical Substring Search-后缀自动机+拓补序递推

2017-04-02 11:36:59

阅读数:216

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭