- 博客(11)
- 收藏
- 关注
原创 后缀自动机例题精讲
这一篇是后缀自动机的一些例题题解及总结:例:bzoj 3998题意:求一个字符串中第k小子串,t=0表示子串仅区别字典序,t=1表示子串区分起止位置解析:建起后缀自动机,构造parent树,利用后缀自动机有向无环累计子串个数查询即可具体解析:https://blog.csdn.net/lleozhang/article/details/89413818bzoj 2780...
2019-04-20 10:39:28 569
原创 bzoj 3998
我们分成两种情况来分析这个问题:t=0和t=1t=1时,每一个子串出现的次数就是他在parent树上所在子树内前缀节点的个数,这一点我们已经说的很清楚了利用SAM有向无环的性质,我们可以在parent树上统计完之后在后缀自动机上dfs,对每个点累计以他为开头的所有子串的总数然后在查询的时候直接在SAM上跑,如果以当前点为开头的子串总数小于k,则将k减去这个总数后向他的兄弟节点查询,否则...
2019-04-20 10:33:41 420
原创 后缀自动机实际应用
上一篇我们具体介绍了后缀自动机的构造方式,但并没有谈它的应用,那么我们在这一篇里详细谈一谈后缀自动机的应用首先,后缀自动机的性质:从根节点开始可以识别一个字符串的所有子串接下来,我们需要给出一个定义:将后缀自动机上的pre指针反指,会得到一棵树形结构,我们把这棵树叫做parent树!parent树是原串反串的后缀树!记住这个定义,因为后缀自动机中大部分题都与这棵树有千丝万缕的联...
2019-04-20 10:21:36 779
原创 后缀自动机学习笔记
学了一周后缀自动机,觉得...好难啊(主要还是自己太弱了...)看见网上很多大佬的讲解,感觉总是有些似懂非懂,索性一起拿出来做一个总结,可能效果会好一些首先,我们能看到这样一个定义:后缀自动机是一个的确定性有限状态自动机,能接受这个字符串的所有后缀然后就不知道了......(不得不承认,对于我这种蒟蒻,看到这个定义的第一反应是看看别的...)所以我们直接从后缀自动机的结构与...
2019-04-20 09:23:24 343
原创 bzoj 3277
十分之恶心的后缀自动机(其实是水题,但是我太弱了...)首先,有一个预备知识:bzoj 2780https://blog.csdn.net/lleozhang/article/details/89365183现在我们假定你会了这道题然后我们来讨论这个问题:套路是一样的:仍然建起广义后缀自动机,然后搞出parent树首先我们要想一个问题:如何确定某一个子串在这些串中出现的次数...
2019-04-18 21:07:47 289
原创 bzoj 2780
后缀自动机的应用首先我们观察到:如果一个询问串的答案不为0,那么这个串一定是至少一个模式串的子串如果只有一个模式串,那么这个问题可以简单地用什么东西解决掉(比如普通后缀自动机)而这里有很多模式串,所以普通后缀自动机是不够的。那么我们提出广义后缀自动机所谓广义后缀自动机,可以简单理解成将很多个串建在同一个后缀自动机上所以它的构造就是:每插入完毕一个串,就将las指针指回根节点...
2019-04-18 10:20:28 237
原创 lnoi2019游记
好诡异的省选......day0:莫名其妙的订了下午从sy到dl的火车,得五点多才能到,所以.......是不需要试机的吗......好吧...看着停课的jflr们,感觉他们好强啊,像我这种酱油选手聊尽人事,不要被高一的虐就好...考前期望:lnsyzx=3,lnsyzx(分校)=2+zwz,所以...乐观估计我们今年应该有6个省队?反正跟我没啥关系...然后就上火车了...
2019-04-16 19:03:49 1068
原创 bzoj 3238
后缀数组+单调栈的应用首先我们研究一下这个表达式,可以发现前半部分与串的情况并没有关系,而只是跟串的长度有关,所以我们先把前半部分算出来:于是我们只需计算出即可那么可以发现,对于排名分别为i,j的两个串,他们的lcp应当是:但是这里的时间复杂度仍然很大我们换一个角度来思考:如果设,那么我们认为height[k]产生了一个贡献所以我们可以从每一个height[k]产生了多...
2019-04-15 20:00:05 207
原创 bzoj 4816
这题是莫比乌斯反演的典型题也是很有趣的题。题意:求,其中f为为斐波那契数列那么首先观察一下指数,发现是我们熟悉的形式,可以转化成这样的形式:令T=kd,且假设n<m,有:令则原式=这样的话我们的步骤就是这样的:线性筛出莫比乌斯函数,同时递推求出f然后利用f和莫比乌斯函数求出g(枚举倍数,这样把时间复杂度控制在调和级数级别),注意到有时会出现分数(莫比乌斯函...
2019-04-10 18:30:01 171
原创 bzoj 3529
非常好的一道莫比乌斯反演题,对提升自己的能力有很大帮助。首先我们分析一下题意:题意让我们求,其中那么我们首先对后面的式子进行一下变形,变形过程详见https://blog.csdn.net/lleozhang/article/details/89093689于是最后变成了这个样子:但是这个式子还是不好,所以我们改变一下枚举顺序,先枚举d于是上式改为:可以发现右侧的式...
2019-04-09 18:49:50 164
原创 bzoj 2301
一道莫比乌斯反演入门题。首先观察题目要求:的数对数首先可以发现,这个东西同时有上界和下界,所以并不是很容易计算那么我们变下形,可以看到:原式=是不是清晰很多了?(当然没有!)不,这一步很重要的目的在于消去了下界,使得我们的计算更方便了。而且可以发现这四个式子的形式是一样的,所以我们对一个式子进行研究就可以了。那么问题就变成了这样:求满足的数对数那么我们再进行研究...
2019-04-08 16:29:05 379
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人