問題一覧 > 通常問題

No.3305 Shift Sort

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 34
作問者 : dyktr_06 / テスター : sepa38 Nafmo2
ProblemId : 12395 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-10-04 18:13:36

問題文

数列 $B$ に対する【 問題 】を以下のように定義します。

【 問題 】

あなたは、以下の操作を何度でも行うことができます。

  • $1 \leq l < r \leq | B |$ を満たす整数組 $(l, r)$ を選び、$(B_l, \ldots, B_{r-1}, B_r)$ を $(B_r, B_l, \ldots, B_{r-1})$ に置き換える。

$B$ を昇順に並べ替えるのに必要な最小の操作回数を求めてください。

さて、$(1, 2, \ldots, N)$ の順列 $A = (A_1, A_2, \ldots, A_N)$ が与えられます。

クエリが $Q$ 個与えられるため、順番に処理してください。$i$ 番目のクエリは以下の通りです。

  • l r: 数列 $(A_l, A_{l+1}, \ldots, A_r)$ について【 問題 】を解き、その答えを出力する。

制約

  • $1 \leq N, Q \leq 2 \times 10^{5}$
  • $1 \leq A_i \leq N$
  • $i \neq j \implies A_i \neq A_j$
  • $1 \leq l \leq r \leq N$
  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられる。

$N$ $Q$
$A_1$ $A_2$ $\cdots$ $A_N$
query $1$  
query $2$  
$\vdots$

query $Q$ 

各クエリは以下に示す形式で与えられる。

l r

出力

$Q$ 行出力せよ。

$i$ 行目には、$i$ 番目のクエリに対する答えを出力せよ。

サンプル

サンプル1
入力
5 4
4 2 3 1 5
1 3
1 4
2 5
5 5
出力
2
3
1
0

$2$ 番目のクエリについて考えます。

$(A_1, A_2, A_3, A_4) = (4, 2, 3, 1)$ は以下のように操作を行うと昇順に並び替えることができます。

  • $(1, 4)$ を選ぶ。$(4, 2, 3, 1)$ が $(1, 4, 2, 3)$ に置き換わる。
  • $(2, 4)$ を選ぶ。$(1, 4, 2, 3)$ が $(1, 3, 4, 2)$ に置き換わる。
  • $(2, 4)$ を選ぶ。$(1, 3, 4, 2)$ が $(1, 2, 3, 4)$ に置き換わる。

$3$ 回より少ない回数で昇順に並び替えることはできないため、$3$ と出力します。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。