Codeforces Round #344 (Div. 2) D. Messenger CF631D
好久没写KMP
根本想不到这种做法首先先对连续相同的合并一下假设s字符个数为1那么只要长度足够并且字符相同就合法假设s字符个数为2那么左右两边长度都够就可以
但是只有一个位置合法 不能左移或者右移假设s字符个数>=3 那么需要首尾两个长度足够 并且中间的全部相等才行
所以对自身getfail 然后再用t匹配
需要注意首尾的是需要判长度足够就行
所以需要改一下特判#include <ios
原创
2017-10-15 10:51:03 ·
483 阅读 ·
0 评论