求助size赋值的原理

P3804 【模板】后缀自动机(SAM)

发现如果在 dfs 的时候给叶子节点赋成 1 是错的。
by DiDi123 @ 2023-07-11 10:01:24


@[DiDi123](/user/280604) 我之前也是这个问题,我调试出来的是 问题不在于叶子节点赋值1,而是不能把非叶子节点置0 每次遇到的cur,你考虑所有连续的转移构成一条链,cur都在链上的,这些节点都不能清空吧 具体我也说不清TAT,等大佬解答QwQ
by ling_luo @ 2023-08-04 22:00:10


size是与DAG上的点代表的一个或多个子串,这种情况的个数。也可以理解成$longest[i]$的个数。 每次加入点的时候原字符串的前缀肯定是一个新情况,size就等于1。 dfs的时候,这个点的父节点是这个点的后缀,所以父节点的size可以加上子节点的size。extend克隆的时候size不改的原因也在这,防止重复。
by xu826281112 @ 2023-08-05 02:30:25


|