A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
+ | + | +2 | + | + | + | -2 |
签到题不讲。
模拟题,每次要记录到的字母超过3个时就加一天。
时间复杂度\(\mathcal{O}(\sum|S|)\)
不难发现要把\(u\)先离散化一波,设车站\(x\)所处最靠前的位置为\(Min_x\),最靠后的为\(Max_x\),每次询问\(a_i,b_i\)时,若\(Min_{a_i} \le Max_{b_i}\),显然就是可以的。
Tips:先判一下\(a_i,b_i\)是否在\(u\)中。(+2,悲)
直接从最大的删就行。
若两个数对\((a,b),(c,d)\)中有两个数相等,那么这两个数对就不能放为一堆。将有相等数的数对相互连边,做一遍染色判断可行性(判断奇数个数环)。
设设\(a_i = 2^{k} + a'_i(a'_i \in \mathbf{N})\)(\(k\)尽可能大)若\(b_j\)能通过若干次\(\lfloor\dfrac{x}{2}\rfloor\)操作转为\(a'_i\),那么\(b_j\)就能干掉\(a_i\),易得。(乘上若干次\(2\))