09 2021 档案

摘要:概述: 参考神犇yyb的博客 问题:如何做到$O(nlogn)-O(1)$复杂度求解$k$次祖先? 常规倍增是$O(nlogn)-O(logn)$的,重链剖分是$O(nlogn)-O(logn)$的,欧拉序st表能在$O(nlogn)-O(1)$复杂度内求两点LCA,但并不能查出k次祖先是谁 长链剖 阅读全文
posted @ 2021-09-09 19:58 guapisolo 阅读(108) 评论(0) 推荐(0)
摘要:正着做着实不太好做,正难则反,考虑反着做。 把i,j看成在切割字符串,我们统计有多少对(i,j)会切割所有与$s_{l,r}$相同的串。对于在后缀自动机上表示$s_{l,r}$的节点x,x的parent子树内的endpos节点集合,就是和$s_{l,r}$相等的串的最后一个字符的出现位置。我们相当于 阅读全文
posted @ 2021-09-03 10:53 guapisolo 阅读(158) 评论(0) 推荐(0)