
后缀自动机
Dale_zero
从零开始吧!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu 4622 Reincarnation 后缀自动机,记忆化
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4622题目要求处理出询问的从i到j的子串的不同子串的数量,因为串长最大2000,所以n^2+记忆化处理出任意从i到j的不同子串数量(即每个节点的max-其父节点的max)#include<bits/stdc++.h>#include<iostream>#define...原创 2018-10-05 13:56:24 · 264 阅读 · 0 评论 -
hdu 5470 Typewriter 后缀自动机+单调队列优化DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5470这道题是用的是后缀自动机 + 单调队列优化DP。正常考虑DP的话,暴力DP需要O(n^2)的复杂度,不可行。这道题用单调队列优化DP可以到O(n)的复杂度。用dp【i】表示写出前i个字符需要的cost。则求dp【i】的时候有两种转移情况①:dp【i-1】+cost【s【i】】。...原创 2018-10-06 15:17:10 · 419 阅读 · 0 评论 -
hdu 6194string string string 后缀自动机
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6194查询原串中出现次数等于k次的子串数量。需要用到基数排序。构造完后缀自动机之后将节点按照maxlen值从小到大进行排序。因为某个节点p的父节点fp的maxlen值一定比p的maxlen小(因为其right集合比p大,right(p)是right(fp)的子集),所以fp一定排在p前面。...原创 2018-10-06 16:18:58 · 266 阅读 · 0 评论 -
2018焦作网络赛 H String and Times
题目链接:https://nanti.jisuanke.com/t/31717计算原串中,有多少子串的出现次数位于l和r之间,后缀自动机的题目,建立后缀自动机之后进行拓扑排序,将子节点出现的次数不断向它在parent树上的父节点追加更新,计算每个节点right集合的大小,得到的就是其代表字符串出现的次数,有时间写一篇SAM的学习笔记吧,希望能帮到像我一样刚入门的新手。。还有这道题比较坑的一...原创 2018-09-29 16:58:03 · 364 阅读 · 0 评论