P207 数位翻转

数位翻转

题目描述

小明创造了一个函数 f(x)f(x) 用来翻转 xx 的二进制的数位(无前导 00)。比如 f(11)=13f (11) = 13,因为 11=(1011)211 = (1011)_2,将其左右翻转后,变为 13=(1101)213 = (1101)_2;再比如 f(3)=3f (3) = 3f(0)=0f (0) = 0f(2)=f(4)=f(8)=1f (2) = f (4) = f (8) = 1 等等。

小明随机出了一个长度为 nn 的整数数组 {a1,a2,,an}\{a_1, a_2,\cdots, a_n\},他想知道,在这个数组中选择最多 mm 个不相交的区间,将这些区间内的数进行二进制数位翻转(将 aia_i 变为 f(ai)f (a_i))后,整个数组的和最大是多少?

输入格式

🔒
登录后查看完整题面
登录后查看题目

统计