洛谷P5284 [十二省联考2019]字符串问题 [后缀树]

传送门


思路

\(dp_i\)表示以\(i\)结尾的\(A\)串,能达到的最长长度。

然后发现这显然可以\(i\)往自己控制的\(k\)连边,\(k\)往能匹配的\(j\)连边,就是个最长路,只要建出图来就完事了。

显然可以用数据结构得到两点之间是否有边,于是就获得了40分的好成绩。

考虑优化这个建图,字符串也就那么几个数据结构,那就后缀树吧。

有了后缀树,可以发现\(k\)会向\(k\)所在的节点的子树连边,注意不包括\(k\)自己的节点。

那么自己节点怎么办呢?把在这里的所有串拆开然后按长度排一下序即可。

然后就是用虚点优化,随便搞就好了。

这省选题好像也不难

代码先咕着,下午再写。


代码

咕咕咕。

猜你喜欢

转载自www.cnblogs.com/p-b-p-b/p/10695677.html
今日推荐