之前我们给的SAM的例题,基本上是一个串建SAM的就能做的 如果要建多个串的SAM应该怎么做呢 首先看题,bzoj2780 我一开始的想法是SA以前的弄法,把串拼起来,中间加分隔符做SAM 这题确实可以这么做,这样根据SAM能识别所有子串的性质 而且每个节点都代表了唯一的一个串 每个询问串我们都能找到最终转移到哪(找不到就是没出现过) 问在多少个串出现过这就等价于在ST(s)的parent树的子树中,出现了多少种不同的权值 这显然可以维护dfs序,用经典的离线做法来搞(更好的写法见文末UPD)…