HBC213849摆动数列,数据结构,树状数组,枚举,离散化,动态规划[CSP2020]优秀的拆分(power)题解 (正整数??n的一种拆分)

坐在坟头思考人生 算法基础篇 44 0
不断提升技能,才能在职场中立于不败之地!全网最全C++题库,助您成为编程领域的佼佼者。
n的一种特定拆分,我们称它为“优秀的”,当且仅当在这种拆分下,??x能通过正整数个222相乘在一起得到, 例如,10=8+2=23+2110 = 8 + 2 = 2^3 + 2^110=8+2=23+21是一个优秀的拆分,但是,7=4+2+1=22+21+207 = 4 + 2 + 1 = 2^2 + 2^1 + 2^07=4+2+1=22+21+20就不是一个优秀的拆分,因为111不是222的正整数次幂, 现在,给定正整数??n,你需要判断这个数的所有拆分中,是否存在优秀的拆分,若存在,请你给出具体的拆分方案。

题目数据为官方数据,可以提交测试,结果仅供参考,不代表官方成绩,最终成绩以官方发布的最终成绩为准。 一般来说,一个正整数可以拆分成若干个正整数的和。例如,1=1,10=1+2+3+41 = 1,10 = 1 + 2 + 3 + 41=1,10=1+2+3+4 等。 对于正整数 ??n 的一种特定拆分,我们称它为“优秀的”,当且仅当在这种拆分下,??n 被分解为了若干个不同的 222 的正整数次幂。注意,一个数 ??x 能被表示成 222 的正整数次幂,当且仅当 ??x 能通过正整数个 222 相乘在一起得到。 例如,10=8+2=23+2110 = 8 + 2 = 2^3 + 2^110=8+2=23+21 是一个优秀的拆分。但是,7=4+2+1=22+21+207 = 4 + 2 + 1 = 2^2 + 2^1 + 2^07=4+2+1=22+21+20 就不是一个优秀的拆分,因为 111 不是 222 的正整数次幂。 现在,给定正整数 ??n,你需要判断这个数的所有拆分中,是否存在优秀的拆分。若存在,请你给出具体的拆分方案。

HBC213849摆动数列,数据结构,树状数组,枚举,离散化,动态规划[CSP2020]优秀的拆分(power)题解
(正整数??n的一种拆分)-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
成为编程大师,不再是梦想!全网最全C++题库,助您开启编程新篇章。

标签: HBC213849摆动数列 数据结构 树状数组 枚举 离散化 动态规划[CSP2020]优秀的拆分(power)题解