如果你另开变量记录改变的位置及颜色,请注意交换时候不要交换成临时变量~~(不然交换了个寂寞QAQ~~
void update(int id,int tm){ int pos=qr[tm].l,cl=qr[tm].r; if(qq[id].l<=pos&&qq[id].r>=pos){ del(a[pos]); add(cl); } swap(a[pos],qr[tm].r);//不要写成swap(a[pos],cl) }