[ABC349D] Divide Interval
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
AT_abc349_d [ABC349D] Divide Interval
题目描述
对于非负整数 ,将从 到 的整数按顺序排列成数列 ,记作 。另外,使用非负整数 ,可以表示成 的数列被称为“好数列”。
给定非负整数 。请将数列 分割成尽可能少的“好数列”,并输出分割的个数以及分割的方法。更严格地说,求满足以下条件的非负整数对序列 的最小正整数 ,并输出这些 。
- 均为好数列
此外,可以证明,使 最小的分割方法是唯一的。
输入格式
输入以以下格式从标准输入读入。
输出格式
请按以下格式输出。
请注意, 需要按升序输出。
样例 1
输入
3 19
输出
5
3 4
4 8
8 16
16 18
18 19
样例 2
输入
0 1024
输出
1
0 1024
样例 3
输入
3940649673945088 11549545024454656
输出
8
3940649673945088 3940649673949184
3940649673949184 4503599627370496
4503599627370496 9007199254740992
9007199254740992 11258999068426240
11258999068426240 11540474045136896
11540474045136896 11549270138159104
11549270138159104 11549545016066048
11549545016066048 11549545024454656
说明/提示
约束条件
- 输入均为整数
样例解释 1
$S(3, 19) = (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)$。可以分割为以下 个好数列,这也是使分割个数最小的方法。
- $S(4, 8) = S(2^2 \cdot 1, 2^2 \cdot 2) = (4, 5, 6, 7)$
- $S(8, 16) = S(2^3 \cdot 1, 2^3 \cdot 2) = (8, 9, 10, 11, 12, 13, 14, 15)$
由 ChatGPT 4.1 翻译
初中组20251211(AT_abc349)
- 状态
- 已结束
- 规则
- 乐多
- 题目
- 7
- 开始于
- 2025-12-11 12:00
- 结束于
- 2025-12-11 13:18
- 持续时间
- 1.3 小时
- 主持人
- 参赛人数
- 10