的否定我的地方閱讀這條線,我無法弄清楚它的使用使用,並與數
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