![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sam
文章平均质量分 64
abigben
这个作者很懒,什么都没留下…
展开
-
Pty的字符串
题意给一颗根节点为 111 的树(节点数 n≤6×105n \leq 6 \times 10^5n≤6×105),点与点之间用一个小写字母连接。给一个字符串 SSS (长度 len≤8×106len \leq 8 \times 10^6len≤8×106 ),称 S[l…r]S[l \dots r]S[l…r] 与树上的一条从上往下的路径匹配当且仅当 S[l…r]S[l \dots r]S[l…r] 等于树上该条路径所形成的字符串,求所有的匹配对数。题解显然把该树上的广义 samsamsam 建出来原创 2022-02-16 22:25:16 · 422 阅读 · 0 评论 -
谢特(shit)
题意给定一个字符串,每一个后缀 i…ni \dots ni…n 有一个权值 wiw_iwi。求 max{LCP(i,j)+wi⊕wj},(i≠j)max\{LCP(i,j)+ w_i\oplus w_j\},(i \neq j)max{LCP(i,j)+wi⊕wj},(i=j)。题解考虑先把 samsamsam 建出来(这里的 samsamsam 要反着建,因为要表示前缀的后缀)。然后考虑 samsamsam 上的一个节点 iii 的 endposendposendpos 集合,他们所对原创 2022-02-16 17:35:43 · 326 阅读 · 0 评论 -
NOI2018 你的名字
题解首先转化题意,未出现过的子串个数=总的本质不同的子串个数-出现过的子串个数,前面随便维护一下,重点求后面:优先考虑 68pts68pts68pts,如何求 TTT 中在 SSS 中出现过的本质不同的子串个数呢?一个常见套路:对于每一个 TTT 的前缀 T1…iT_{1 \dots i}T1…i,求其前缀在 SSS 中出现过的本质不同的子串的个数。先把 SSS 的 samsamsam 建出来,然后把 TTT 中新加入的字符放进 SSS 的 samsamsam 中匹配,若当前状态有向该字符的转移,原创 2022-02-15 23:03:10 · 334 阅读 · 0 评论