数据结构题还是挺好玩的 注意到每次只变动三个点:(x,y),(x,m),(n,m),其他地方都是整块移动. 可以开n+1个线段树,前n个存每行前m-1个人,最后一个存第m列的人. (x,y)位置的人出列时,抽出该位置的标号,加到第n+1个线段树的最后面去,抽出第n+1个线段树的第x个元素(即(x,m),加到第x个线段树的最后面去. ↑实现这一操作,可以记线段树的size,每次二分查询树上第k个元素即可确定位置. ↑当然树不可能全建出来,需要动态开点.尚未申请的结点,size直接用$ r-l+1…