全部评论 4

  • 也是把创作计划的标签给去了……

    2天前 来自 上海

    0
  • 宝宝你是一个ios::sync_stdio(0),cin.tie(0),cout.tie(0)

    3天前 来自 广东

    0
  • 滚进收藏夹吃灰

    3天前 来自 浙江

    0
  • #include<bits/stdc++.h>
    using namespace std;
    string s, t;
    int n, m, nxt[N];
    void init(){
        n = s.size();
        m = t.size();
        s = ' ' + s;
        t = ' ' + t;
    }
    void make(){
        nxt[1] = 0;
        int j = nxt[1];
        for(int i = 2; i <= m; i ++){
            while(j && t[j + 1] != t[i]) j = nxt[j];
            if(t[j + 1] == t[i]) j ++;
            nxt[i] = j;
        }
    }
    vector<int> match(){
        vector<int> ans;
        int j = 0, res = 0;
        for(int i = 1; i <= n; i ++){
            while(j && s[i] != t[j + 1]) j = nxt[j];
            if(s[i] == t[j + 1]) j ++;
            if(j == m){
                res ++;
                ans.push_back(i);
            }
        }
        return ans;
    }
    

    3天前 来自 上海

    0

热门讨论