int cnt = s1.Q(1, 1, n, l, r), cnt2 = s2.Q(1, 1, n, l, r);
s1.U(1, 1, n, l, r, 0), s2.U(1, 1, n, l, r, 0);
cnt && ((ty == 1 ? s1.U(1, 1, n, r - cnt + 1, r, 1) : s1.U(1, 1, n, l, l + cnt - 1, 1)), 0);
cnt && ((ty == 1 ? s2.U(1, 1, n, r - cnt2 + 1, r, 1) : s2.U(1, 1, n, l, l + cnt2 - 1, 1)), 0);
过了,6月交的现在才发现,太神奇了