| 78 | return SA; |
| 79 | } |
| 80 | vector<int> suffix_array(const string &s, const int LIM = 128) { |
| 81 | vector<int> vec(s.size() + 1); |
| 82 | copy(begin(s), end(s), begin(vec)); |
| 83 | vec.back() = '!'; |
| 84 | auto ret = SA_IS(vec, LIM); |
| 85 | ret.erase(ret.begin()); |
| 86 | return ret; |
| 87 | } |
| 88 | struct SuffixArray { |
| 89 | int n; |
| 90 | string s; |
no test coverage detected