Advertisement
RaFiN_

kmp

Oct 19th, 2020
1,734
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.26 KB | None | 0 0
  1. //kmp
  2.  
  3. vector<ll> calcu(string &s) {
  4.     vector<ll> pi(s.size());
  5.     for(int i = 1; i < s.size(); i++) {
  6.         int j = pi[i-1];
  7.         while(j > 0 && s[j] != s[i]) j = pi[j-1];
  8.         if(s[j] == s[i]) ++j;
  9.         pi[i] = j;
  10.     }
  11.     return pi;
  12. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement