Hong Kong Regional Contest 2016 [Kattis - taboo]
题意:给出n个01串,要构造一个最长的串使得这个串不包含所有出现过的串,无解输出-1.
首先把所有的点扔进自动机,因为出现过的串不能在我们构造的串中出现,所以事先把某些”坏点”标记,
坏点指的就是每个串的结束节点以及沿着结束节点fail指针走下去的节点.
如果剩下的图中能够沿着根走出一个环那么必然就无解了, 判环可以用一遍拓扑确定.
排除无解情况剩下就是一个DAG了, 最后按照最长路打印方案即可.
原创
2017-09-16 21:56:09 ·
362 阅读 ·
0 评论