summaryrefslogtreecommitdiff
path: root/content/datastructures/lichao.cpp
diff options
context:
space:
mode:
authorGloria Mundi <gloria@gloria-mundi.eu>2024-11-16 15:39:23 +0100
committerGloria Mundi <gloria@gloria-mundi.eu>2024-11-16 15:39:23 +0100
commit72bd993483453ed8ebc462f1a33385cd355d486f (patch)
treec5592ba1ed2fed79e26ba6158d097c9ceb43f061 /content/datastructures/lichao.cpp
parent98567ec798aa8ca2cfbcb85c774dd470f30e30d4 (diff)
parent35d485bcf6a9ed0a9542628ce4aa94a3326d0884 (diff)
merge mzuenni changes
Diffstat (limited to 'content/datastructures/lichao.cpp')
-rw-r--r--content/datastructures/lichao.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/content/datastructures/lichao.cpp b/content/datastructures/lichao.cpp
index f66778e..1318ca7 100644
--- a/content/datastructures/lichao.cpp
+++ b/content/datastructures/lichao.cpp
@@ -8,13 +8,13 @@ struct Fun { // Default: Linear function. Change as needed.
// Default: Computes min. Change lines with comment for max.
struct Lichao {
- static constexpr Fun id = {0, inf}; // {0, -inf}
+ static constexpr Fun id = {0, INF}; // {0, -INF}
int n, cap;
vector<Fun> seg;
- Lichao() : n(sz(xs)), cap(2<<__lg(n)), seg(2*cap, id) {}
+ Lichao() : n(sz(xs)), cap(2 << __lg(n)), seg(2 * cap, id) {}
void _insert(Fun f, int l, int r, int i) {
- while (i < 2*cap){
+ while (i < 2 * cap) {
int m = (l+r)/2;
if (m >= n) {r = m; i = 2*i; continue;}
Fun &g = seg[i];
@@ -26,7 +26,7 @@ struct Lichao {
void _segmentInsert(Fun f, int l, int r, int a, int b, int i) {
if (l <= a && b <= r) _insert(f, a, b, i);
- else if (a < r && l < b){
+ else if (a < r && l < b) {
int m = (a+b)/2;
_segmentInsert(f, l, r, a, m, 2*i);
_segmentInsert(f, l, r, m, b, 2*i+1);
@@ -36,7 +36,7 @@ struct Lichao {
}
ll _query(int x) {
- ll ans = inf; // -inf
+ ll ans = INF; // -INF
for (int i = x + cap; i > 0; i /= 2) {
ans = min(ans, seg[i](x)); // max
}