Universal Cup Judging System

Universal Cup

Time Limit: 4 s Memory Limit: 2048 MB Total points: 100 Difficulty: [show] Hackable ✓
Statistics

小青魚有一個由 $1$ 到 $n$ 嘅整數組成嘅排列 $p_1, p_2, \ldots, p_n$,就好似題目個名噉講,佢想將呢個排列由細到大排好序。呢一次,佢可以做嘅操作如下。

  • 喺一次操作入面,小青魚可以揀兩個滿足 $1 \le i < j \le n$ 嘅整數 $i$ 同 $j$,然後掉轉 $p_i$ 同 $p_j$。

不過,唔好講笑啦,個個都識點樣用簡單嘅掉轉嚟排好一個排列,所以呢道題目擺明唔係叫你做呢樣嘢。相反,小青魚將一次操作嘅距離定義做 $j - i$。對於一個可以將個排列排好序嘅操作序列,對每個 $1 \le d < n$,設 $a_d$ 代表距離係 $d$ 嘅操作次數。

喺所有可以將個排列排好序嘅有限操作序列入面,小青魚想你搵出字典序最細嘅序列 $(a_1, a_2, \ldots, a_{n-1})$,並且構造一個操作次數最多係 $5n$ 嘅操作序列嚟實現佢。

輸入格式

呢道題目有多組測試數據。輸入嘅第一行包含一個整數 $T$($1 \le T \le 10^6$),代表測試數據嘅組數。

對於每組測試數據,第一行包含一個整數 $n$($2 \le n \le 10^6$),代表排列嘅長度。第二行包含 $n$ 個整數 $p_1, p_2, \ldots, p_n$($1 \le p_i \le n$),代表呢個排列。保證 $p$ 係一個長度為 $n$ 嘅排列。

保證所有測試數據入面 $n$ 嘅總和唔超過 $10^6$。

輸出格式

對於每組測試數據,請按照下面嘅格式輸出答案。

每組測試數據嘅第一行應該包含 $n - 1$ 個整數 $a_1, a_2, \ldots, a_{n-1}$,代表字典序最細嘅序列。

第二行應該包含一個整數 $k$($0 \le k \le 5n$),代表你構造嘅操作序列入面嘅操作次數。

接住落嚟嘅 $k$ 行,每行應該包含兩個整數 $i$ 同 $j$($1 \le i < j \le n$),代表對應操作入面所揀嘅下標。按照畀定嘅順序逐個執行呢啲操作之後,一定要將輸入嘅排列排好序,而且對於每個 $1 \le d < n$,啱啱好有 $a_d$ 次操作嘅距離係 $d$。

可以證明,一定存在一個操作次數最多係 $5n$ 嘅最佳操作序列。如果有多過一個合法嘅操作序列,你可以輸出其中任何一個。

範例

輸入格式 1

3
3
3 2 1
4
2 1 3 4
4
1 3 2 4

輸出格式 1

0 1
1
1 3
0 1 2
3
1 4
2 4
1 4
0 3 2
5
1 3
1 4
2 4
1 4
1 3

說明

喺第一組範例測試數據入面,小青魚掉轉位置 $1$ 同 $3$。噉樣就用咗一次距離係 $2$ 嘅操作將個排列排好序。

喺第二組範例測試數據入面,其中一個最佳操作序列係 $(1, 4)$、$(2, 4)$、$(1, 4)$。呢啲操作嘅距離分別係 $3$、$2$ 同 $3$,所以得出嘅序列係 $(0, 1, 2)$。

喺第三組範例測試數據入面,其中一個最佳操作序列係 $(2, 4)$、$(1, 4)$、$(1, 3)$、$(1, 4)$、$(2, 4)$。佢各個距離嘅操作次數係 $(0, 3, 2)$。

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.