关于后缀自动机求助
  • 板块学术版
  • 楼主Xqbk
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/12/7 18:21
  • 上次更新2023/11/3 22:43:49
查看原帖
关于后缀自动机求助
252551
Xqbk楼主2021/12/7 18:21

关于SAM上统计各个状态在串中的出现次数,主流做法是在先把根到 S[1...n]S[1...n] 路径上的所有状态的 cntcnt 初始化为 11,然后在后缀链接构成的树上进行累加(即 cnt[u]cnt[u]+link[v]=ucnt[v]cnt[u]\gets cnt[u]+\sum\limits_{link[v]=u}cnt[v])。

而某些题解()也有另一种做法,从 S[1...n]S[1...n] 状态不断往回跳 linklink 至根节点,把途径的所有状态的 cntcnt 初始化为 11,然后在转移边构成的DAG上进行累加(即 cnt[u]cnt[u]+trans[u][c]=v,cΣcnt[v]cnt[u]\gets cnt[u]+\sum\limits_{trans[u][c]=v,c\in\Sigma}cnt[v])。

第二种做法也是正确的吗?如果是,和第一种相比有哪些优劣?

2021/12/7 18:21
加载中...