【内容】后缀自动机/后缀树
步六孤明琪
这个作者很懒,什么都没留下…
展开
-
【SDOI2016】【BZOJ4516】生成魔咒
【题目链接】BZOJ4516【前置技能】后缀树【题解】要求支持向字符串后加一个字符,询问字符串中本质不同的子串的个数。考虑建立原串的反串的后缀树,新出现的反串的后缀对于答案的贡献为dep[pos]−dep[fa[pos]]dep[pos] - dep[fa[pos]]dep[pos]−dep[fa[pos]]。每次插入的时候维护一下答案即可。【代码】#include&l...原创 2018-10-10 12:28:44 · 116 阅读 · 0 评论 -
【NOI2015】【BZOJ4199】【UOJ131】【LOJ2133】品酒大会
【题目链接】BZOJ4199UOJ131LOJ2133【前置技能1】后缀数组并查集【题解1】首先有一件题目描述中提到的事实:两杯“ r 相似”(r > 1)的酒同时也是“ 1 相似”、“ 2 相似”、……、“ (r − 1) 相似”的,即如果一些后缀是至少xxx相似的,一些后缀是至少yyy相似的,两个集合之间最大的相似度为z(x≥z,y≥z)z(x\geq z, y...原创 2018-11-16 08:11:09 · 152 阅读 · 0 评论 -
【ZJOI2015】【3926】诸神眷顾的幻想乡
【题目链接】BZOJ3926【前置技能】后缀自动机/后缀树【题解】发现叶节点的个数非常少,所以建立叶节点路径上的字符串的广义后缀自动机,然后统计一下本质不同的子串的个数即可。时间复杂度O(N∗X)O(N*X)O(N∗X)(XXX为叶节点个数)【代码】#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define原创 2018-11-19 10:08:29 · 220 阅读 · 0 评论