摘要: 继续考虑建立后缀自动机,那么我们查询答案相当于找到最小的包含\(s[l,r]\)的节点,然后求出这个节点子树中\([T_l,T_r]\)出现的次数的最大值以及对应的下标,我们可以找到每一个\(s[1,r]\)的位置,然后倍增,如果说你像我一样弱,不会在广义\(SAM\)中找匹配,你可以把\(s\)也 阅读全文
posted @ 2025-05-19 14:42 特别之处 阅读(10) 评论(0) 推荐(0)
摘要: 考虑转化题意,容易发现我们一定可以找到一个\(k\)最大的\(s\)序列使得\(s_{i-1}\)为\(s_i\)的\(boder\)。然后建立后缀自动机,每一个父节点是它的后缀,然后维护一条链,考虑能多出一个\(s_i\)就多出一个\(s_i\)(省流:贪心),然后每个点维护\(k\)最大时节点的 阅读全文
posted @ 2025-05-19 10:23 特别之处 阅读(7) 评论(0) 推荐(0)