AlgoMooc
← 返回题库

P1968. 小慕的美丽数

中等通过率 33% · 提交 12 · 通过 4
数学前缀和枚举位运算

小慕正在处理一个项目,他定义了一个数 x 是“美丽数”,当且仅当:如果反复将 x 除以 2,直到 x 无法再被 2 整除时,最终 x 恰好等于 1。 如果一个数是美丽数,则它的定义为:上述操作中除以 2 的次数。 如果一个数不是美丽数,则它的美丽值为 0。 现在,小慕有一个长度为 n 的数组 a,他想知道数组 a 中所有的和的美丽值之和是多少。请你帮他计算出结果吧。 如下:记数字 x 的美丽值为 f(x),则需要计算: _{t=1}^{n} _{r=l}^{n} f(a_l + a_{l+1} + ... + a_r) 其中 a_l + a_{l+1} + ... + a_r 表示数组 a 在区间 [l, r] 内所有元素的和。

提示:带虚线的词点一下有通俗解释。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「小慕的美丽数」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。