File tree Expand file tree Collapse file tree 2 files changed +8
-8
lines changed
Expand file tree Collapse file tree 2 files changed +8
-8
lines changed Original file line number Diff line number Diff line change @@ -34,11 +34,11 @@ template<class T, class F> struct linear_rmq {
3434 (asc[i] | asc[i - 1 ]) & -(in[i] & -in[i]);
3535 }
3636 int idx (int l, int r) { // [l, r]
37- if (unsigned i = in[l] ^ in[r]; i ) {
38- i = asc[l] & asc[r] & -bit_floor (i );
39- if (unsigned b = asc[l] ^ i ; b)
37+ if (unsigned a = in[l] ^ in[r]; a ) {
38+ a = asc[l] & asc[r] & -bit_floor (a );
39+ if (unsigned b = asc[l] ^ a ; b)
4040 b = bit_floor (b), l = head[(in[l] & -b) | b];
41- if (unsigned b = asc[r] ^ i ; b)
41+ if (unsigned b = asc[r] ^ a ; b)
4242 b = bit_floor (b), r = head[(in[r] & -b) | b];
4343 }
4444 return cmp (a[l], a[r]) ? l : r;
Original file line number Diff line number Diff line change @@ -32,11 +32,11 @@ struct linear_lca {
3232 for (auto [v, p] : order) asc[v] = asc[p] | lsb (in[v]);
3333 }
3434 int lca (int u, int v) {
35- if (unsigned i = in[u] ^ in[v]; i ) {
36- i = asc[u] & asc[v] & -bit_floor (i );
37- if (unsigned b = asc[u] ^ i ; b)
35+ if (unsigned a = in[u] ^ in[v]; a ) {
36+ a = asc[u] & asc[v] & -bit_floor (a );
37+ if (unsigned b = asc[u] ^ a ; b)
3838 b = bit_floor (b), u = head[(in[u] & -b) | b];
39- if (unsigned b = asc[v] ^ i ; b)
39+ if (unsigned b = asc[v] ^ a ; b)
4040 b = bit_floor (b), v = head[(in[v] & -b) | b];
4141 }
4242 return d[u] < d[v] ? u : v;
You can’t perform that action at this time.
0 commit comments