cp_library

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub SSRS-cp/cp_library

:warning: old_String/Rolling_Hash.cpp

Code

struct rolling_hash{
  vector<long long> S;
  rolling_hash(string s){
    int N = s.size();
    S = vector<long long>(N + 1, 0);
    for (int i = N - 1; i >= 0; i--){
      S[i] = (S[i + 1] * BASE + s[i]) % MOD;
    }
  }
  long long get(int L, int R){
    return (S[L] - S[R] * POW[R - L] % MOD + MOD) % MOD;
  }
};
#line 1 "old_String/Rolling_Hash.cpp"
struct rolling_hash{
  vector<long long> S;
  rolling_hash(string s){
    int N = s.size();
    S = vector<long long>(N + 1, 0);
    for (int i = N - 1; i >= 0; i--){
      S[i] = (S[i + 1] * BASE + s[i]) % MOD;
    }
  }
  long long get(int L, int R){
    return (S[L] - S[R] * POW[R - L] % MOD + MOD) % MOD;
  }
};
Back to top page