题面
分析
不考虑题目的限制,只想一般的情况.
先通过对next数组的观察,不难得到$num(i)=num(fail(i))+1$.
考虑再维护一个前缀不与后缀重叠的,带有限制的$num’(i)$, 找一波规律得到
相当于同时维护了两个失配数组了嘛.
代码
1 |
|
infinite OI road.
不考虑题目的限制,只想一般的情况.
先通过对next数组的观察,不难得到$num(i)=num(fail(i))+1$.
考虑再维护一个前缀不与后缀重叠的,带有限制的$num’(i)$, 找一波规律得到
相当于同时维护了两个失配数组了嘛.
1 | #include<bits/stdc++.h> |