#E. 简单的倍增

    传统题 2000ms 128MiB

简单的倍增

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

Description

我们知道倍增的核心是 f[i][j]=f[f[i][j1]][j1]f[i][j]=f[f[i][j-1]][j-1]​, 我们知道 f[i][j]f[i][j] ​的涵义是从 ii 出发,走​ 2j2^j 步到达的下标。即 f[i][j]=i+2jf[i][j]=i+2^j ​,第一维即为起点,第二维为步数,第二维使用 22 的次方表示步数,即为倍增,现在定义二进制拆分为将一个数字拆分为 22 的次方的组合,例如 1313 可以拆分为 {23,22,20}={8,4,1}\{2^3,2^2,2^0\}=\{8,4,1\}, {1,4,8}\{1,4,8\} ​即为拆分的结果,题目将给定一些数字,请你从小到大输出对应每个数字对应二进制拆分的结果。

Input Format

第一行包含一个正整数 t(t103)t(t \le 10^3),表示给定数字的数目。

之后的 tt 行,每行给出一个具体的正整数​ a(a104)a(a \le 10^4)

Output Format

输出包含 ​tt 行,每行包含一组 22 的次方的组合。

4
3
8
12
10000​
1 2
8
4 8
16 256 512 1024 8192

Source

倍增思想 二进制

2023暑期基础培训 第四周排位赛

未参加
状态
已结束
规则
ACM/ICPC
题目
5
开始于
2023-8-5 14:00
结束于
2023-8-5 17:00
持续时间
3 小时
主持人
参赛人数
18