见代码,一般做法是把修改操作拆成“撤销之前的”和“加上新的”两部分
但这份代码中我写的是,直接在整体二分时,如果这个赋值操作的数 ≤mid\leq mid≤mid,看当前这个位置是否已经被赋成 111,如果是就不去操作,否则加上 111;如果赋值操作的数 >mid> mid>mid,看当前的位置是否已经是 000,是的话就不操作,否则就减掉 111。最后撤销的时候有关的位置全部置 000。然而只有 5pts。
求证明错误性或指出我哪里写错了...