数位 DP,对性质的观察。
注意到 $n\le 2\times 10^5$ ,直接考虑数位DP,但是因为这个限制并不能化成较好形式,还是很难做。
一开始得想法是钦定 $a\oplus b=x$,再根据 $x+y\ge x\oplus y$,对应的求出 $a\oplus b,b\oplus c$ 。但这样很难对 $a,b,c$ 的大小进行限制。
但是我们还是考虑利用 $x+y\ge x\oplus y$,这已经和我们的限制很接近了 $(a\oplus b) +(a\oplus c)>(b\oplus c)$ 。更进一步地,我们考虑按位来做,我们只需要有一满足 $(a_i\oplus b_i) +(a_i\oplus c_i)>(b_i\oplus c_i)$ 即可满足整个限制条件。我们只需要记录前面是否已经有一位满足即可。简单数位 DP 即可解决。时间复杂度 $\mathcal O(n)$。
Code
1 |
|