摘要:
E. e-Government题目: 给出n个字符串,表示n个人名,有两种操作: ?string ,统计字符串string中出现的属于城市居民的次数。 +id,把编号为id的人变为城市居民,如果已经是忽略。 -id,把编号为id的人变为不是城市居民,如果已经不是的话忽略。 现有m个操作,对于?输出结果。分析: 很容易想到建立ac自动机,+-操作倒简单,使用bool数组标记一下即可。对于每个询问,每次都沿着fail指针往上走,遇到了标记为城市居民的字符串时加1,否则继续往上走。 在这显然会TLE。很容易构造出以下数据: a aa aaa ... aaa...aaa ?a... 阅读全文