[HNOI2019]JOJO(KMP自动机+主席树)】的更多相关文章

题目:https://loj.ac/problem/3055 先写了暴力.本来想的是 n<=300 的那个在树上暴力维护好整个字符串, x=1 的那个用主席树维护好字符串和 nxt 数组.但 x=1 的部分会 TLE ,而且似乎不太对的样子. #include<cstdio> #include<cstring> #include<algorithm> #include<vector> #define ll long long #define pb pu…
一道神仙题,考察选手对KMP的深入理解. 先考虑没有2操作的做法.设每一段为一个二元组(x,c),考虑一段前缀匹配后缀,除了第一段的字符,其他段的二元组(x,c)必须相等,所以可以将其视为特殊字符进行匹配.在串末尾加入(x,c)时,显然不断跳next数组,如果当前前缀后接的字符为c ,那么可以增加一段首项为当前前缀长度,然后发现这一段的next数组为首项为前缀长度,公差为1的等差数列.next链上如果有等于(x,c)的二元组,则next指向二元组,否则指向0,因为如果存在(y,c)满足y>x,则…
题意 https://loj.ac/problem/2444 思路 ​多串匹配,考虑 \(\text{AC}\) 自动机.模拟打字的过程,先建出一棵 \(\text{Trie}\) 树,把它变成自动机.对于每一个询问 \((x,y)\) ,相当于求 \(y\) 在 \(\text{Trie}\) 上的父节点中,有多少个是 \(x\) 在 \(\text{fail}\) 树上的子节点. 不难想到离线,我们对于 \(y\) 记录所有 \(x\) ,求出 \(\text{fail}\) 树上的 \(\…
国际惯例的题面:考虑我们求解出字符串uvu第一个u的右端点为i,第二个u的右端点为j,我们需要满足什么性质?显然j>i+L,因为我们选择的串不能是空串.另外考虑i和j的最长公共前缀(也就是说其parent树上lca的len),为了保证他们相同,我们需要:j-len>=i-L.整理一下,如果我们已知i,j需要在区间[i+L+1,i+L+len]中.如果我们已知j,i需要在区间[j-L-len,j-L-1]中.于是我们可以写n^2暴力了:暴力维护parent上每个节点的right集合,对于每个i,…
LINK:子序列自动机 想了一些很有趣的做法. dp 容易看出 f[i][j]表示前i个数匹配了j个数的dp 不过复杂度很高. 贪心 容易想到匹配的时候每个数字尽量往前匹配 这样显然是最优的 复杂度Qn. 可以发现 这个贪心显然可以优化 我们无非是要寻找下一个离当前位置最近的一个位置. 动态开点线段树存每个值得位置 查询的时候 先ask一下区间和 然后线段树上二分即可. 容易想到主席树 显然可以倒着建立主席树每次更新某个点的位置 查询的时候可以直接查. 不过需要考虑一下子序列自动机 我们期望建立…
题意: 给出\(n\)个字符串\(s_i\)和\(q\)个询问: \(l,r,k\):\(\sum\limits_{i=l}^{r}count(i, k)\),其中\(count(i,j)\)表示\(s_j\)作为子串在\(s_i\)中出现的次数 分析: 先不考虑查询中\(l,r\)的限制,考虑该字符串\(s_k\)在一个字符串集合中出现的次数. 先将这个字符串集合插入到一棵Trie数中,并且每经过一个节点就将其对应的\(val\)值加\(1\). 这样\(s_k\)对应节点的\(val\)值就…
点此看题面 大致题意: 每次往一个字符串末尾加上\(x\)个字符\(c\),或者回到某一历史版本,求\(KMP\)的\(\sum Next_i\). 问题转化 考虑到可以离线. 于是,我们就可以用一个比较常用的技巧,从每个版本向由其转移到的版本连边,然后从\(0\)的各个子节点出发遍历一遍操作树,且每操作完一个节点的子树就清空当前贡献. 则我们就只用考虑如何计算每次新加入的一段字符对答案的影响即可,问题一下简单了许多. 暴力 接下来我们考虑如何计算新加入的一段字符对答案的影响,首先思考如何暴力.…
4556: [Tjoi2016&Heoi2016]字符串 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 657  Solved: 274[Submit][Status][Discuss] Description 佳媛姐姐过生日的时候,她的小伙伴从某东上买了一个生日礼物.生日礼物放在一个神奇的箱子中.箱子外边写了一个长为n的字符串s,和m个问题.佳媛姐姐必须正确回答这m个问题,才能打开箱子拿到礼物,升职加薪,出任CEO,嫁给高富帅,走上人生巅峰.每…
What-The-Fatherland is a strange country! All phone numbers there are strings consisting of lowercase English letters. What is double strange that a phone number can be associated with several bears! In that country there is a rock band called CF con…
What-The-Fatherland is a strange country! All phone numbers there are strings consisting of lowercase English letters. What is double strange that a phone number can be associated with several bears! In that country there is a rock band called CF con…