QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 2048 MB

#22847. 尋找遞增子序列

Statistics

俾定一個正整數 $N$ 同埋一個非負整數 $X$。

請判斷係咪存在一個長度為 $2N$ 嘅序列 $A = (A_1, A_2, \dots, A_{2N})$,同時滿足以下所有條件:

  • 由 $1$ 到 $N$ 嘅每個整數喺 $A$ 入面恰好出現兩次。
  • 序列 $(1, 2, \dots, N)$ 作為 $A$ 嘅子序列恰好出現 $X$ 次。換句話講,恰好有 $X$ 種揀選下標 $1 \le i_1 < i_2 < \dots < i_N \le 2N$ 嘅方法,令到 $A_{i_j} = j$ $(1 \le j \le N)$。

如果存在噉樣嘅序列,請輸出其中一個。如果存在多個符合條件嘅序列,輸出邊一個都得。

輸入格式

輸入包含多組測試數據,格式如下:

$$ \begin{aligned} &T \\ &\mathrm{case}_1 \\ &\mathrm{case}_2 \\ &\vdots \\ &\mathrm{case}_T \end{aligned} $$

每組測試數據嘅格式如下:

$$ N \ X $$

第一行包含一個整數 $T$ $(1 \le T \le 2 \times 10^5)$,代表測試數據嘅組數。

對於每組測試數據,會俾定一個正整數 $N$ $(1 \le N \le 2 \times 10^5)$ 同埋一個非負整數 $X$ $(0 \le X \le 10^{18})$。

所有測試數據入面 $N$ 嘅總和唔超過 $2 \times 10^5$。

輸出格式

對於每組測試數據,如果唔存在符合條件嘅序列,請喺單獨一行輸出 No。

否則,喺第一行輸出 Yes,並喺第二行輸出 $2N$ 個整數 $A_1, A_2, \dots, A_{2N}$,代表一個符合條件嘅序列。

如果有多個合法嘅序列,你可以輸出其中任何一個。

範例

輸入格式 1

3
2 3
50 1000000000000000000
4 0

輸出格式 1

Yes
1 2 1 2
No
Yes
4 4 3 3 2 2 1 1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.