首先明确题目要我们求什么。看到后面的 $LCP(T_i, T_j)$ 很容易用后缀数组将其转化成 $\min_{rk[i] pragma GCC optimize(2) define rep(i, l, r) for (int i = (l); i = (l); i) using namespace ...
分类:
其他好文 时间:
2020-02-13 09:41:49
阅读次数:
48
$$2019中国大学生程序设计竞赛(CCPC)\ \ 网络选拔赛$$ $A.^ & ^$ 签到,只把AB都有的位给异或掉 $C.K th\ occurrence$ 给出一个字符串,给出$m$次询问,每次询问在字符串中第$k$次出现字串$s_l~s_r$的位置在哪 首先建出后缀数组和$lcp$,对于每 ...
分类:
其他好文 时间:
2020-02-05 23:37:13
阅读次数:
155
bzoj 4199 品酒大会 开始线段树合并学傻了直接拿线段树合并莽然后80pts滚粗 其实考虑,如果我们求出了 $ LCP(s_1,s_2) = i $ ,其中 $ s_1,s_2 $ 是后缀,的权值的和/最大值,做一遍后缀和/最大值就好了啊! 这个东西是可以 dp 的!由于 parent 树本质 ...
分类:
其他好文 时间:
2020-01-31 14:18:17
阅读次数:
49
后缀数组 1. 后缀,就是从字符串中的一个字符开始直到结束的字串;而后缀数组则能求出字符串中所有后缀的排名。 2. 介绍即将登场的数组们:sa[i]记录的是排名为i的后缀是从第几个字符开始的;Rank[i]记录的是从第i个字符开始的后缀排名第几;c[]用于基数排序; 3.代码 LCP 后缀的排名已经 ...
分类:
编程语言 时间:
2020-01-29 21:49:16
阅读次数:
81
PPPoE 未来双栈终端大量存在,PPPoE也要求一次拨号实现同时下发IPv4和IPv6地址的功能 PPPoEv6 用户PPPoEv6接入方式如下图,分为6阶段:会话发现、LCP协商、认证、地址分配、PPPoEv6通信、Keep-alive阶段 ...
分类:
其他好文 时间:
2020-01-29 17:44:14
阅读次数:
630
Description 求一个字符串内重复次数最多的连续字串。 Solution "丢一个hihocoder的链接" 先考虑如何如何求一个串给定的串的最大重复次数,枚举一个可能的循环节长度 $l$,然后求原串和原串去掉前 $l$ 个字符后两个串的 $lcp$(最长公共前缀),如果能完全匹配上,就是一 ...
分类:
编程语言 时间:
2020-01-08 14:34:04
阅读次数:
82
Description 求两个字符串的最长公共子串。 Solution 把两个字符串拼起来,问题就转化为了求任意两个后缀的 $lcp$ 的最大长度。 显然这个最大长度是 $height_i$ 的值,$\text{SA}$ 求解即可。 需要注意的是,对于 $height_i$ 需要判断一下 $SA_i ...
分类:
编程语言 时间:
2020-01-06 23:04:17
阅读次数:
96
Description 维护一个字符串,支持插入字符,修改字符,以及求两个后缀的$lcp$。 Solution 建立一棵$Splay$来维护整个串,每个节点维护整个子树的哈希值。对于插入,直接在对应的位置插入;修改也直接修改就好;然后一路$update$。对于查询,考虑二分,然后每次查询对应区间的哈 ...
分类:
Web程序 时间:
2020-01-02 22:32:04
阅读次数:
92
喵星球上的点名: 对于字符串的匹配问题,可以考虑把文本、模式串串起来,然后处理SA数组。中间加上不同的“挡板字符”防止两个不同的串被以为是一个串匹配($ab$、$aba$)。但是一个后缀串还是会和另一个串匹配多次。对于点名串,它叫到的名字的$lcp$不小于点名串的长度,那么可以单调栈求控制范围了,对 ...
分类:
其他好文 时间:
2019-12-29 10:45:54
阅读次数:
77