MCPcopy Create free account
hub / github.com/ShahjalalShohag/code-library / build

Method build

Strings/Suffix Array.cpp:123–135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

121 for (int i = 2; i < n; i++) lg[i] = lg[i / 2] + 1;
122 }
123 void build() {
124 int sz = n - 1;
125 t.resize(sz);
126 for (int i = 0; i < sz; i++) {
127 t[i].resize(LG);
128 t[i][0] = lcp[i];
129 }
130 for (int k = 1; k < LG; ++k) {
131 for (int i = 0; i + (1 << k) - 1 < sz; ++i) {
132 t[i][k] = min(t[i][k - 1], t[i + (1 << (k - 1))][k - 1]);
133 }
134 }
135 }
136 int query(int l, int r) { // minimum of lcp[l], ..., lcp[r]
137 int k = lg[r - l + 1];
138 return min(t[l][k], t[r - (1 << k) + 1][k]);

Callers

nothing calls this directly

Calls 1

resizeMethod · 0.80

Tested by

no test coverage detected