AT_arc144_d [ARC144D] AND OR Equation
比较好的一个题。
首先你看一下这个题目条件,其实是可以规约的,二进制下 \(1\) 的个数多的必然可以被 \(1\) 的个数少的拼凑出来,此时我们引出本题极为重要的一步:只需要确定 \(f_0\) 和 \(f_{2^i}\) 即可确定整个序列。
根据上述,显然每次可以用一个 \(f_{0}\) 和 \(f_{2^i}\) 让一个数的 \(1\) 的个数多 \(1\)。
此时我们只需要看根据这些数能够组合而成的上界和下界即可。
此时考虑根据 \(f_0\) 的值看哪些 \(f_{2^i}\) 大于 \(f_0\) 和小于即可,发现两种 \(f_{2^i}\) 相加便可抵达上界和下界,其就是两个不等式方程,用组合数求解即可。

浙公网安备 33010602011771号