Skip to content
Snippets Groups Projects
Commit 733651b1 authored by Fernando K's avatar Fernando K
Browse files

Arruma testes

parent 26fb6f5e
Branches
No related tags found
No related merge requests found
......@@ -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;
......
......@@ -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);
}
......@@ -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"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment