Description 懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作。 Input 第一行一个数Q表示操作个数 第二行一个字符串表示初始字符串init 接下来 ...
分类:
其他好文 时间:
2017-08-15 10:04:19
阅读次数:
136
【BZOJ2555】SubString Description 懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作。 懒得写背景了,给你一个字符串init,要求你支 ...
分类:
其他好文 时间:
2017-06-06 20:40:15
阅读次数:
185
算是学会sam了吧…… 原题: 懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作。 字符串最终长度 <= 600000,询问次数<= 10000,询问总长度<= ...
分类:
其他好文 时间:
2017-05-29 11:00:24
阅读次数:
223
蒟蒻有生之年终于切掉了这道题……在陈丽杰的sam课件上就有这道题,但是zcysky太菜一直不敢做。 其实现在做一下,发现这个题目并不是太难。 所谓的出现次数就是这个字符串在SAM上跑完对应的right集合。要支持及时插入,也就是要动态的维护Parent树的形态。 “动态”,“树”,我们很明显本能的会 ...
分类:
其他好文 时间:
2017-05-14 10:47:02
阅读次数:
228
Description 懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作。 懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插 ...
分类:
其他好文 时间:
2017-03-30 23:22:00
阅读次数:
321
我是萌萌的传送门 这**什么破题…… 看题的时候突然发现:咦这题我怎么见过……后来想起来是sxysxy说给我的一道后缀自动机+LCT的破题,然后我偏不信这个邪,码了个分块hash试图水过去,然后发现不是TLE就是MLE……没办法,只能乖乖写正解了…… 加入操作只会在原串末尾加一个字符串,不难想到维护 ...
分类:
其他好文 时间:
2017-02-13 21:42:40
阅读次数:
195
通过用LCT维护parent树来实现后缀自动机的在线操作。 注意right值初始化为0,然后加新结点的时候只要将np的right值设为1,而不需要改变nq的right值,因为nq是内部的结点,np才是外层的结点。 思路很简单,代码真长,调了挺久。。。。不过写起来还算清晰。。。 #include<bi ...
分类:
其他好文 时间:
2016-05-05 22:07:16
阅读次数:
194
SAM+LCT维护parent tree版本 虽然说子树维护那套理论需要ETT 不过parent tree的根是固定的,所以用lct加一些奇怪的乱搞就行了 //随手拖个SAM的板子和LCT的板子,然后再加几句话就写完了【手动滑稽 ...
分类:
其他好文 时间:
2016-03-27 17:39:21
阅读次数:
206
Description懒得写背景了,给你一个字符串init,要求你支持两个操作(1):在当前字符串的后面插入一个字符串(2):询问字符串s在当前字符串中出现了几次?(作为连续子串)你必须在线支持这些操作。Input第一行一个数Q表示操作个数第二行一个字符串表示初始字符串init接下来Q行,每行2个字...
分类:
其他好文 时间:
2015-07-06 12:01:41
阅读次数:
89
题解:正解是LCT+SAM。
但是出题人太神以至于不屑于卡你,所以只写个SAM然后暴力维护就好了。
这样虽然很不科学,但是可以比正解快三倍。
我是太困了吧,写挂了调了好久(发呆了好久然后秒调过,或者说半眯着眼睛睡了一会)
代码:
#include
#include
#include
#include
#define N 1601000
#define T 26
#...
分类:
其他好文 时间:
2015-01-20 12:03:42
阅读次数:
200