AT_arc149_f [ARC149F] Rational Number System

题目描述

设 $r > 1$ 为有理数,$p$ 为 $r$ 的分子,$q$ 为 $r$ 的分母。即 $p, q$ 是正整数,满足 $r = \frac{p}{q}$ 且 $\gcd(p, q) = 1$。 正整数 $n$ 的 **$r$ 进制展开** 定义为满足以下所有条件的整数序列 $(a_1, \ldots, a_k)$: - $a_i$ 是 $0$ 到 $p-1$ 之间的整数; - $a_1 \neq 0$; - $n = \sum_{i=1}^k a_i r^{k-i}$。 可以证明,任意正整数 $n$ 都有唯一的 $r$ 进制展开。 ------ 给定正整数 $p, q, N, L, R$,其中 $p, q$ 满足 $1.01 \leq \frac{p}{q}$。 将所有不超过 $N$ 的正整数,按其 $\frac{p}{q}$ 进制展开的字典序从小到大排列,输出第 $L, L+1, \ldots, R$ 个正整数。 注意,正整数的输入输出均使用通常的十进制表示。 **什么是数列的字典序?** 设数列 $A = (A_1, \ldots, A_{|A|})$,$B = (B_1, \ldots, B_{|B|})$,若满足下列 1 或 2,则称 $A$ 的字典序小于 $B$: 1. $|A| < |B|$ 且 $(A_1, \ldots, A_{|A|}) = (B_1, \ldots, B_{|A|})$; 2. 存在整数 $1 \leq i \leq \min\{|A|, |B|\}$,同时满足: - $(A_1, \ldots, A_{i-1}) = (B_1, \ldots, B_{i-1})$; - $A_i < B_i$。

输入格式

输入通过标准输入给出,格式如下: > $p$ $q$ $N$ $L$ $R$

输出格式

输出 $R-L+1$ 行。第 $i$ 行输出所有不超过 $N$ 的正整数,按 $\frac{p}{q}$ 进制展开的字典序从小到大排列时,第 $L+i-1$ 个正整数。 输出正整数时请使用十进制表示。

说明/提示

### 约束条件 - $1 \leq p, q \leq 10^9$ - $\gcd(p, q) = 1$ - $1.01 \leq \frac{p}{q}$ - $1 \leq N \leq 10^{18}$ - $1 \leq L \leq R \leq N$ - $R - L + 1 \leq 3 \times 10^5$ ### 样例解释 1 $9$ 以下正整数的 $3$ 进制展开如下: ``` 1: (1), 2: (2), 3: (1, 0), 4: (1, 1), 5: (1, 2), 6: (2, 0), 7: (2, 1), 8: (2, 2), 9: (1, 0, 0)。 ``` ### 样例解释 2 $9$ 以下正整数的 $\frac{3}{2}$ 进制展开如下: ``` 1: (1), 2: (2), 3: (2, 0), 4: (2, 1), 5: (2, 2), 6: (2, 1, 0), 7: (2, 1, 1), 8: (2, 1, 2), 9: (2, 1, 0, 0)。 ``` 例如 $6$ 的 $\frac{3}{2}$ 进制展开为 $(2, 1, 0)$,因为 $2 \cdot \left(\frac{3}{2}\right)^2 + 1 \cdot \frac{3}{2} + 0 \cdot 1 = 6$。 ### 样例解释 3 输入样例 2 的输出中,第 $3$ 到第 $8$ 个即为答案。 由 ChatGPT 4.1 翻译