TopCoder

Adrien Wu
$ \begin{align} AC \times 2^9 \\ \text{New TIOJ ?} \end{align} $

User's AC Ratio

87.0% (40/46)

Submission's AC Ratio

48.1% (74/154)

Tags

Description

給定$N$,請找出一個$1$到$N$的排列$a_0,a_1,\cdots,a_{N-1}$,使得這個數列的$N$個前綴和(即$a_0,a_0+a_1,a_0+a_1+a_2,\cdots,\sum^ {N-1}_{i=0}a_i$)中恰好有除以$N$餘0、除以$N$餘1、……、除以$N$餘$N-1$的數各一個,或者判斷不存在這樣一個排列。

例如$N=2$,取數列$2,1$,則其兩個前綴和分別為$2,3$,恰好有除以2餘0、除以2餘1的數各一個。

Input Format

輸入只有一個正整數$N$,$N \leq 2\times 10^ 6$。

Output Format

若不存在一個滿足題意的排列,輸出一行No
否則,先輸出一行Yes,並在下一行輸出一個滿足題意的排列,數字間以空格隔開。若有多組解,輸出其中一個即可。

Sample Input 1

1

Sample Output 1

Yes
1

Sample Input 2

2

Sample Output 2

Yes
2 1

Hints

Problem Source

Problem set by skylinebaby
建國中學107學年度校隊選拔:初試pF

Subtasks

No. Testdata Range Constraints Score
1 0~7 $N \leq 8$ 10
2 0~11 $N \leq 12$ 10
3 12~28 $N$為$2$的冪次 10
4 0~78 無額外限制 70

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 900 131072 262144 1 2 4
1 900 131072 262144 1 2 4
2 900 131072 262144 1 2 4
3 900 131072 262144 1 2 4
4 900 131072 262144 1 2 4
5 900 131072 262144 1 2 4
6 900 131072 262144 1 2 4
7 900 131072 262144 1 2 4
8 900 131072 262144 2 4
9 900 131072 262144 2 4
10 900 131072 262144 2 4
11 900 131072 262144 2 4
12 900 131072 262144 3 4
13 900 131072 262144 3 4
14 900 131072 262144 3 4
15 900 131072 262144 3 4
16 900 131072 262144 3 4
17 900 131072 262144 3 4
18 900 131072 262144 3 4
19 900 131072 262144 3 4
20 900 131072 262144 3 4
21 900 131072 262144 3 4
22 900 131072 262144 3 4
23 900 131072 262144 3 4
24 900 131072 262144 3 4
25 900 131072 262144 3 4
26 900 131072 262144 3 4
27 900 131072 262144 3 4
28 900 131072 262144 3 4
29 900 131072 262144 4
30 900 131072 262144 4
31 900 131072 262144 4
32 900 131072 262144 4
33 900 131072 262144 4
34 900 131072 262144 4
35 900 131072 262144 4
36 900 131072 262144 4
37 900 131072 262144 4
38 900 131072 262144 4
39 900 131072 262144 4
40 900 131072 262144 4
41 900 131072 262144 4
42 900 131072 262144 4
43 900 131072 262144 4
44 900 131072 262144 4
45 900 131072 262144 4
46 900 131072 262144 4
47 900 131072 262144 4
48 900 131072 262144 4
49 900 131072 262144 4
50 900 131072 262144 4
51 900 131072 262144 4
52 900 131072 262144 4
53 900 131072 262144 4
54 900 131072 262144 4
55 900 131072 262144 4
56 900 131072 262144 4
57 900 131072 262144 4
58 900 131072 262144 4
59 900 131072 262144 4
60 900 131072 262144 4
61 900 131072 262144 4
62 900 131072 262144 4
63 900 131072 262144 4
64 900 131072 262144 4
65 900 131072 262144 4
66 900 131072 262144 4
67 900 131072 262144 4
68 900 131072 262144 4
69 900 131072 262144 4
70 900 131072 262144 4
71 900 131072 262144 4
72 900 131072 262144 4
73 900 131072 262144 4
74 900 131072 262144 4
75 900 131072 262144 4
76 900 131072 262144 4
77 900 131072 262144 4
78 900 131072 262144 4