倍增相关
  • 板块学术版
  • 楼主Maysoul
  • 当前回复12
  • 已保存回复12
  • 发布时间2023/9/10 15:12
  • 上次更新2023/11/2 21:38:14
查看原帖
倍增相关
409774
Maysoul楼主2023/9/10 15:12

众所周知,一个数可以表示成若干个2的某次方相加的形式。

那么如果给定一个数,定义f(x)f(x)为求该数由几个2的某次方相加。

例如f(6)=2f(6)=2,因为6=22+216=2^{2}+2^{1}构成

现在有一个想法,欲求f(a)f(a),预处理2的若干次方,然后每次二分找到小于aa的最大数,减去该数,重复上述过程知道a=0a=0。

那么这个方法是最快的方法吗?

以及这个方法的时间复杂度是多少呢?

2023/9/10 15:12
加载中...