#ABC349D. 区间划分
区间划分
区间划分
题目描述
对于非负整数 和 (),记 为将 到 的整数按顺序排列得到的序列 。此外,如果一个序列可以表示为 (其中 是非负整数),则称这个序列为"好序列"。
给定非负整数 和 ()。请将序列 划分为尽可能少的好序列,并输出划分的个数和划分方式。更形式化地说,求满足以下条件的最小正整数 以及对应的非负整数对序列 :
- $L = l_1 \lt r_1 = l_2 \lt r_2 = \cdots = l_M \lt r_M = R$
- 都是好序列。
可以证明,使 最小的划分方式只有一种。
输入格式
输入按以下格式从标准输入给出:
输出格式
按以下格式输出答案:
注意,数对 应按升序输出。
样例
3 19
5
3 4
4 8
8 16
16 18
18 19
可以划分为下面五个好序列,这是最少的个数:
- $S(8,16)=S(2^3\cdot 1,2^3\cdot 2)=(8,9,10,11,12,13,14,15)$
0 1024
1
0 1024
3940649673945088 11549545024454656
8
3940649673945088 3940649673949184
3940649673949184 4503599627370496
4503599627370496 9007199254740992
9007199254740992 11258999068426240
11258999068426240 11540474045136896
11540474045136896 11549270138159104
11549270138159104 11549545016066048
11549545016066048 11549545024454656
数据范围
- 输入均为整数。
难度
普及+/提高-
通过率
—
尝试
0
已通过
0
- ID
- 3266
- 类型
- 传统题
- Time Limit
- 2000ms
- Memory Limit
- 1024MiB
- 上传者