Advertisement
Guest User

Untitled

a guest
Jul 6th, 2013
519
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.42 KB | None | 0 0
  1.   BIT fen0(n);
  2.   BIT fen1((n+K-1)/K);
  3.  
  4.   void insert(int x0, int x1, int factor) {
  5.     while (x0%K != 0 and x0 < x1) fen0.insert(x0++, factor);
  6.     while (x1%K != 0 and x0 < x1) fen0.insert(--x1, factor);
  7.  
  8.     fen0.insert(x0, +factor*(1-x0));
  9.     fen0.insert(x1, -factor*(1-x1));
  10.  
  11.     fen1.insert(x0/K, +factor);
  12.     fen1.insert(x1/K, -factor);
  13.   }
  14.  
  15.   int get(int x){
  16.     return fen0.get(x) + fen1.get(x/K)*x;
  17.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement