while(i1) {
i2 = i2c;
while(i2)
- ret += b->t[i1 * b->n + i2], i2 -= i2 & -i2;
+ ret += b->t[i1 * b->m + i2], i2 -= i2 & -i2;
i1 -= i1 & -i1;
}
return ret;
while(i1 < b->n) {
i2 = i2c;
while(i2 < b->m)
- b->t[i1 * b->n + i2] += value, i2 += i2 & -i2;
+ b->t[i1 * b->m + i2] += value, i2 += i2 & -i2;
i1 += i1 & -i1;
}
}
Algorithm::BIT::XS bit_create(IV len);
void bit_free(Algorithm::BIT::XS b);
+ALIAS:
+ DESTROY = 1
IV bit_query(Algorithm::BIT::XS b, IV idx);
Algorithm::BIT2D::XS bit2d_create(IV n, IV m);
void bit2d_free(Algorithm::BIT2D::XS b);
+ALIAS:
+ DESTROY = 1
IV bit2d_query(Algorithm::BIT2D::XS b, IV i1, IV i2);