Advertisement
Tbl_Mne_Ne_Dryg

Untitled

Mar 11th, 2023
789
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1. const int maxn = 1 << 17;
  2.  
  3. struct node {
  4.   int sum = 0;
  5.   int mod = 0; // modificator
  6.  
  7.   static node combine(node a, node b) {
  8.     node c;
  9.     // c = merge(a, b)
  10.     return c;
  11.   }
  12. } tree[2 * maxn - 1];
  13.  
  14. void pull(int x, int l, int r) {
  15.   // push node
  16. }
  17.  
  18. void edit(int x, int l, int r, int ind, int val) {
  19.   if (r < ind || ind < l)
  20.     return;
  21.   if (l == r) {
  22.     // edit node..
  23.     return;
  24.   }
  25.   int mid = (l + r) >> 1;
  26.   pull(x, l, r);
  27.   edit(2 * x + 1, l, mid, ind, val);
  28.   edit(2 * x + 2, mid + 1, r, ind, val);
  29. }
  30.  
  31. int get(int x, int l, int r, int ll, int rr) {
  32.   if (r < ll || rr < l)
  33.     return {};
  34.   if (ll <= l && r <= rr)
  35.     return tree[x].sum;
  36.   int mid = (l + r) >> 1;
  37.   pull(x, l, r);
  38.   return get(2 * x + 1, l, mid, ll, rr) + get(2 * x + 2, mid + 1, r, ll, rr);
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement