gym102586 D: Xor Sum
翻译官方题解。
首先二分答案 \(M\).
假设确定了 \(b_i\) 表示 第 \(i\) 位为 1 的数的个数。如何判定?
设 group A 为已经确定 \(<M\) 的数的个数,我们要让 group A 尽量大。
Let :
\(init_i = (\text{the i-th bit of x}) + (\text{the i-th bit of (S − X)/2}) × 2\)
我们做下面的操作,可以得到一个符合条件的 \(b_i\)
\(b_i \to b_i - 2 , b_{i-1}\to b_{i-1}+4\)
consider DP :
\(dp(i,j)\) 表示确定了 \(b_{i\sim 60}\),size of group A is \(j\),min 给 \(b_{i-1}\) 加上的值。
我们只需要 \(j\le 5+\log V\) 的部分。

浙公网安备 33010602011771号