原题链接
P7853 「EZEC-9」进位 - 洛谷 | 计算机科学教育新生态
题意简述
对于一个长为 n n n 的二进制数 B B B,给出一个长为 m m m 的序列 a a a 表示 m m m 次操作,每一个 a i a_i ai 操作表示在 B B B 的第 a i a_i ai 位上加 1 1 1(自然也可能产生进位)。定义每一个操作的价值 v i v_i vi 为 a i a_i ai 操作后 B B B 相比于操作前变化的位置的个数。可以任意指定这 m m m 个操作的顺序。求:
- 所有操作的价值之和的最大值;
- 单次操作能够产生的最大价值。
第一问
价值之和的增加由 B B B 每个数位变化导致,而二进制下只有两种情况,即 0 → 1 0→1 0→1(当前位变化,增加 1 1 1) 或 1 → 2 ( 0 ) 1→2(0) 1→2(0)(当前位和下一位都变化,增加 2 2