Skip to content

Commit 65e98b9

Browse files
committed
golf
1 parent 75ed507 commit 65e98b9

File tree

1 file changed

+8
-9
lines changed
  • library/data_structures_[l,r]/seg_tree_uncommon

1 file changed

+8
-9
lines changed
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
int walk(int l, int r, const auto& f) {
2-
for (int u = l + n, v = __lg(min(u & -u, r - l + 1)); v >= 0; v--) {
3-
if (T x = s[u >> v]; f(x)) {
4-
l += 1 << v;
5-
while (l <= r) {
6-
u = l + n, v = __lg(min(u & -u, r - l + 1));
7-
if (T y = op(x, s[u >> v]); f(y)) l += 1 << v, x = y;
2+
l += n, r += n;
3+
for (int v = __lg(min(l & -l, r - l + 1)); v >= 0; v--)
4+
if (T x = s[l >> v]; f(x)) {
5+
for (l += 1 << v; l <= r;) {
6+
v = __lg(min(l & -l, r - l + 1));
7+
if (T y = op(x, s[l >> v]); f(y)) l += 1 << v, x = y;
88
else r = l + (1 << v) - 2;
99
}
1010
break;
11-
} else r = l + (1 << v) - 2;
12-
}
13-
return l;
11+
}
12+
return l - n;
1413
}

0 commit comments

Comments
 (0)