的否定我的地方阅读这条线,我无法弄清楚它的使用使用,并与数
private void bitUpdate(int[] bit, int idx, int val) {
while (idx < bit.length) {
bit[idx] += val;
if (bit[idx] >= MOD)
bit[idx] -= MOD;
idx += (idx & -idx);
}
}
idx
最初是1
bit[100100]={0,0,0,0,0,0,0,0,0,0.......}
val=1
MOD = 1000000007
我想不通的使用这条线的
idx += (idx & -idx);
其添加IDX到和数量与它的否定WH我们是否在与自己及其否定之间达成一致?
我看不出它是什么。这段代码来自哪里? –
https://www.codechef.com/viewsolution/15400915 – nothing1
来源== ^^^^^^^^^^^^^^^^^^^^^^^^^ – nothing1