Loading

摘要: 建 acam,然后考虑某个长串能统计多少短串。 子串可以被表述为"某个前缀的后缀",枚举长串每个前缀对应的节点,跳 fail 就可以得到其所有子串。 如果两个子串被同一个前缀跳到,那么后被跳到的一定不合法,只有第一个被跳到的才有可能成为答案,定义这样的短串为"待确定串"。同时注意到如果有两个"待确定 阅读全文
posted @ 2021-08-31 16:50 Qiuly 阅读(53) 评论(0) 推荐(1) 编辑
摘要: C 操作相当于将串最后一个字符取反后丢到最前面。 首先可以发现操作了 \(2n\) 次后必定还原,不过有些串可以不用操作这么多次。具体考虑串 \(S+A\),满足 \(S'+A'=A'+S\),其中 \(S',A'\) 分别代表 \(S,A\) 逐位取反后得到的串,此时操作 \(2|A|\) 次就能 阅读全文
posted @ 2021-08-31 00:08 Qiuly 阅读(82) 评论(0) 推荐(0) 编辑