摘要: 题意: 给一个1e5长只有小写字母的串,1e5个询问,问某个串在可以重叠或者不可以重叠的条件下最大匹配数。解法: 最开始的时候在Trie的每个节点把所有出现的单词编号全塞到vector里,结果TLE到死。其实如果在插入的时候,以同一个节点作为终止节点的只有那一个。。所以对一个串只插入一次就行,然后自动机匹配的时候分别统计可以重叠和不可以重叠的匹配数。 可以重叠的匹配只要在自动机上跑就行,对于不可以重叠的,记录一下上次匹配的位置,然后判断一下是否满足条件就行。。 字符串判重的时候我写了个双重hash。。。 1 #include 2 #include 3 #include 4 #i... 阅读全文
posted @ 2013-08-08 00:02 silver__bullet 阅读(351) 评论(0) 推荐(0) 编辑