AT_arc149_f.[ARC149F] Rational Number System

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

设 r>1r > 1 为有理数,pp 为 rr 的分子,qq 为 rr 的分母。即 p,qp, q 是正整数,满足 r=pqr = \frac{p}{q} 且 gcd⁡(p,q)=1\gcd(p, q) = 1。

正整数 nn 的 rr 进制展开 定义为满足以下所有条件的整数序列 (a1,…,ak)(a_1, \ldots, a_k):

  • aia_i 是 00 到 p−1p-1 之间的整数;
  • a1≠0a_1 \neq 0;
  • n=∑i=1kairk−in = \sum_{i=1}^k a_i r^{k-i}。

可以证明,任意正整数 nn 都有唯一的 rr 进制展开。


给定正整数 p,q,N,L,Rp, q, N, L, R,其中 p,qp, q 满足 1.01≤pq1.01 \leq \frac{p}{q}。

将所有不超过 NN 的正整数,按其 pq\frac{p}{q} 进制展开的字典序从小到大排列,输出第 L,L+1,…,RL, L+1, \ldots, R 个正整数。

注意,正整数的输入输出均使用通常的十进制表示。

什么是数列的字典序?
设数列 A=(A1,…,A∣A∣)A = (A_1, \ldots, A_{|A|}),B=(B1,…,B∣B∣)B = (B_1, \ldots, B_{|B|}),若满足下列 1 或 2,则称 AA 的字典序小于 BB:

  1. ∣A∣<∣B∣|A| < |B| 且 (A1,…,A∣A∣)=(B1,…,B∣A∣)(A_1, \ldots, A_{|A|}) = (B_1, \ldots, B_{|A|});
  2. 存在整数 1≤i≤min⁡{∣A∣,∣B∣}1 \leq i \leq \min\{|A|, |B|\},同时满足:
    • (A1,…,Ai−1)=(B1,…,Bi−1)(A_1, \ldots, A_{i-1}) = (B_1, \ldots, B_{i-1});
    • Ai<BiA_i < B_i。

输入格式

输入通过标准输入给出,格式如下:

pp qq NN LL RR

输出格式

输出 R−L+1R-L+1 行。第 ii 行输出所有不超过 NN 的正整数,按 pq\frac{p}{q} 进制展开的字典序从小到大排列时,第 L+i−1L+i-1 个正整数。

输出正整数时请使用十进制表示。

输入输出样例

  • 输入#1

    3 1 9 1 9

    输出#1

    1
    3
    9
    4
    5
    2
    6
    7
    8
  • 输入#2

    3 2 9 1 9

    输出#2

    1
    2
    3
    4
    6
    9
    7
    8
    5
  • 输入#3

    3 2 9 3 8

    输出#3

    3
    4
    6
    9
    7
    8
  • 输入#4

    10 9 1000000000000000000 123456789123456789 123456789123456799

    输出#4

    806324968563249278
    806324968563249279
    725692471706924344
    725692471706924345
    725692471706924346
    725692471706924347
    725692471706924348
    725692471706924349
    653123224536231907
    653123224536231908
    653123224536231909

说明/提示

约束条件

  • 1≤p,q≤1091 \leq p, q \leq 10^9
  • gcd⁡(p,q)=1\gcd(p, q) = 1
  • 1.01≤pq1.01 \leq \frac{p}{q}
  • 1≤N≤10181 \leq N \leq 10^{18}
  • 1≤L≤R≤N1 \leq L \leq R \leq N
  • R−L+1≤3×105R - L + 1 \leq 3 \times 10^5

样例解释 1

99 以下正整数的 33 进制展开如下:

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

99 以下正整数的 32\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)。

例如 66 的 32\frac{3}{2} 进制展开为 (2,1,0)(2, 1, 0),因为 2⋅(32)2+1⋅32+0⋅1=62 \cdot \left(\frac{3}{2}\right)^2 + 1 \cdot \frac{3}{2} + 0 \cdot 1 = 6。

样例解释 3

输入样例 2 的输出中,第 33 到第 88 个即为答案。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页