From 733651b17a0d41c11f98fcfa955ec3c9bd9f19b8 Mon Sep 17 00:00:00 2001 From: fmkiotheka <fmkiotheka@inf.ufpr.br> Date: Mon, 16 Oct 2023 13:30:15 -0300 Subject: [PATCH] Arruma testes --- testes/hld-ps.cpp | 4 +- testes/lstit.cpp | 122 ++++++++++++++++++++++---------------------- testes/monotone.cpp | 1 + 3 files changed, 65 insertions(+), 62 deletions(-) diff --git a/testes/hld-ps.cpp b/testes/hld-ps.cpp index e1f4bbf..944e6c7 100644 --- a/testes/hld-ps.cpp +++ b/testes/hld-ps.cpp @@ -8,7 +8,7 @@ const int N = 1e5+15; vector<vector<ii>> g (N); #define OP(X, Y) ((X) + (Y)) -#include "../fontes/prefix-sum.h" +#include "../fontes/excluded/prefix-sum.h" #define op_inclusive sum_inclusive #include "../fontes/hld.h" @@ -26,7 +26,7 @@ int main() { g[b].push_back(ii(a, t)); } - hld_init(0); + hld_init(0, n); bool first = true; int q; cin >> q; diff --git a/testes/lstit.cpp b/testes/lstit.cpp index ccf0ceb..0ff3305 100644 --- a/testes/lstit.cpp +++ b/testes/lstit.cpp @@ -5,81 +5,83 @@ const int N = 1e5+15; #define OP(X, Y) ((X) + (Y)) #define NEUTRAL 0 #define FACTOR(sz) sz -#include "../fontes/lstit.h" +#include "../fontes/lazy-segment-tree.h" int main() { ios::sync_with_stdio(0); cin.tie(0); - apply_inclusive(1, 10, '+', 1); - apply_inclusive(1, 8, '+', 1); - apply_inclusive(2, 4, '+', 5); - apply_inclusive(3, 8, '+', 3); + int n = 10; + + apply_inclusive(1, 10, n, '+', 1); + apply_inclusive(1, 8, n, '+', 1); + apply_inclusive(2, 4, n, '+', 5); + apply_inclusive(3, 8, n, '+', 3); apply_inclusive(1, 10, '=', 0); - assert(op_inclusive(1, 1) == 0); - assert(op_inclusive(2, 2) == 0); - assert(op_inclusive(3, 3) == 0); - assert(op_inclusive(4, 4) == 0); - assert(op_inclusive(5, 5) == 0); - assert(op_inclusive(6, 6) == 0); - assert(op_inclusive(7, 7) == 0); - assert(op_inclusive(8, 8) == 0); - assert(op_inclusive(9, 9) == 0); + assert(op_inclusive(1, 1, n) == 0); + assert(op_inclusive(2, 2, n) == 0); + assert(op_inclusive(3, 3, n) == 0); + assert(op_inclusive(4, 4, n) == 0); + assert(op_inclusive(5, 5, n) == 0); + assert(op_inclusive(6, 6, n) == 0); + assert(op_inclusive(7, 7, n) == 0); + assert(op_inclusive(8, 8, n) == 0); + assert(op_inclusive(9, 9, n) == 0); - assert(op_inclusive(5, 8) == 0); - assert(op_inclusive(1, 8) == 0); - assert(op_inclusive(1, 9) == 0); + assert(op_inclusive(5, 8, n) == 0); + assert(op_inclusive(1, 8, n) == 0); + assert(op_inclusive(1, 9, n) == 0); - apply_inclusive(1, 10, '+', 1); - apply_inclusive(1, 8, '+', 1); - apply_inclusive(2, 4, '+', 5); - apply_inclusive(3, 8, '+', 3); + apply_inclusive(1, 10, n, '+', 1); + apply_inclusive(1, 8, n, '+', 1); + apply_inclusive(2, 4, n, '+', 5); + apply_inclusive(3, 8, n, '+', 3); - assert(op_inclusive(1, 1) == 2); - assert(op_inclusive(2, 2) == 7); - assert(op_inclusive(3, 3) == 10); - assert(op_inclusive(4, 4) == 10); - assert(op_inclusive(5, 5) == 5); - assert(op_inclusive(6, 6) == 5); - assert(op_inclusive(7, 7) == 5); - assert(op_inclusive(8, 8) == 5); - assert(op_inclusive(9, 9) == 1); + assert(op_inclusive(1, 1, n) == 2); + assert(op_inclusive(2, 2, n) == 7); + assert(op_inclusive(3, 3, n) == 10); + assert(op_inclusive(4, 4, n) == 10); + assert(op_inclusive(5, 5, n) == 5); + assert(op_inclusive(6, 6, n) == 5); + assert(op_inclusive(7, 7, n) == 5); + assert(op_inclusive(8, 8, n) == 5); + assert(op_inclusive(9, 9, n) == 1); - assert(op_inclusive(5, 8) == 20); - assert(op_inclusive(1, 8) == 49); - assert(op_inclusive(1, 9) == 50); + assert(op_inclusive(5, 8, n) == 20); + assert(op_inclusive(1, 8, n) == 49); + assert(op_inclusive(1, 9, n) == 50); - apply_inclusive(1, 10, '+', 1); + apply_inclusive(1, 10, n, '+', 1); - assert(op_inclusive(1, 1) == 3); - assert(op_inclusive(2, 2) == 8); - assert(op_inclusive(3, 3) == 11); - assert(op_inclusive(4, 4) == 11); - assert(op_inclusive(5, 5) == 6); - assert(op_inclusive(6, 6) == 6); - assert(op_inclusive(7, 7) == 6); - assert(op_inclusive(8, 8) == 6); - assert(op_inclusive(9, 9) == 2); + assert(op_inclusive(1, 1, n) == 3); + assert(op_inclusive(2, 2, n) == 8); + assert(op_inclusive(3, 3, n) == 11); + assert(op_inclusive(4, 4, n) == 11); + assert(op_inclusive(5, 5, n) == 6); + assert(op_inclusive(6, 6, n) == 6); + assert(op_inclusive(7, 7, n) == 6); + assert(op_inclusive(8, 8, n) == 6); + assert(op_inclusive(9, 9, n) == 2); - assert(op_inclusive(5, 8) == 24); - assert(op_inclusive(1, 8) == 57); - assert(op_inclusive(1, 9) == 59); + assert(op_inclusive(5, 8, n) == 24); + assert(op_inclusive(1, 8, n) == 57); + assert(op_inclusive(1, 9, n) == 59); - apply_inclusive(1, 7, '=', 0); + apply_inclusive(1, 7, n, '=', 0); - assert(op_inclusive(1, 1) == 0); - assert(op_inclusive(2, 2) == 0); - assert(op_inclusive(3, 3) == 0); - assert(op_inclusive(4, 4) == 0); - assert(op_inclusive(5, 5) == 0); - assert(op_inclusive(6, 6) == 0); - assert(op_inclusive(7, 7) == 0); - assert(op_inclusive(8, 8) == 6); - assert(op_inclusive(9, 9) == 2); + assert(op_inclusive(1, 1, n) == 0); + assert(op_inclusive(2, 2, n) == 0); + assert(op_inclusive(3, 3, n) == 0); + assert(op_inclusive(4, 4, n) == 0); + assert(op_inclusive(5, 5, n) == 0); + assert(op_inclusive(6, 6, n) == 0); + assert(op_inclusive(7, 7, n) == 0); + assert(op_inclusive(8, 8, n) == 6); + assert(op_inclusive(9, 9, n) == 2); - assert(op_inclusive(5, 7) == 0); - assert(op_inclusive(5, 8) == 6); - assert(op_inclusive(1, 8) == 6); - assert(op_inclusive(1, 9) == 8); + assert(op_inclusive(5, 7, n) == 0); + assert(op_inclusive(5, 8, n) == 6); + assert(op_inclusive(1, 8, n) == 6); + assert(op_inclusive(1, 9, n) == 8); } diff --git a/testes/monotone.cpp b/testes/monotone.cpp index 2c4e222..4fa7590 100644 --- a/testes/monotone.cpp +++ b/testes/monotone.cpp @@ -2,6 +2,7 @@ using namespace std; using ll = long long; const double EPS = 1e-8; +#define all(X) begin(X), end(X) #include "../fontes/point.h" #include "../fontes/monotone.h" -- GitLab