問題一覧 > 通常問題

No.3746 Swap and LIS

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 1024 MB / 標準ジャッジ問題
タグ : (AC するまで非表示) / 解いたユーザー数 12
作問者 : Naru820 / テスター : ponjuice
お気に入りにしたユーザー ProblemId : 13221 / 自分の提出
問題文最終更新日: 2026-09-19 06:50:10
yukicoder contest 515 (順位表) の他の問題:

問題文

長さ $N$ の整数列 $A,B$ が与えられます。あなたは以下の操作を好きな回数繰り返すことができます。

  • $1 \le i \le N$ を満たす整数 $i$ をひとつ選び、$A_i,B_i$ の値を入れ替える。

操作後の $\text{LIS}(A) + \text{LIS}(B)$ として考えられる最大値を求めてください。

ここで、整数列 $X$ に対し $\text{LIS}(X)$ とは、$X$ の狭義単調増加な部分列の長さとして考えられる最大値を表します。

テストケースは全部で $T$ ケース与えられます。

制約

  • $1 \le T \le 2\times 10^5$
  • $2 \le N \le 2 \times 10^5$
  • $1 \le A_i,B_i \le 10^9$
  • すべてのテストケースに対する $N$ の総和は $2 \times 10^5$ 以下
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられます。ここで、 $\text{case}_i$ は $i$ 番目のテストケースです。

$T$
$\text{case}_1$
$\text{case}_2$
$\vdots$
$\text{case}_{T}$

各テストケースは以下の形式で与えられます。

$N$
$A_1 \ A_2 \ldots A_N$
$B_1 \ B_2 \ldots B_N$

出力

$T$ 行出力してください。$i$ 行目には、$\text{case}_i$ に対する答えを出力してください。

サンプル

サンプル1
入力
3
3
4 2 3
1 1 6
5
8 1 6 9 2
7 5 6 2 3
7
7 9 2 7 8 3 4
2 1 8 3 7 7 8
出力
5
6
8

一つ目のテストケースについて、$i = 2$ にのみ操作を行うことで、$A = (4,1,3),B=(1,2,6)$ となり、このとき $\text{LIS}(A) + \text{LIS}(B) = 5$ です。また、どのように操作しても $\text{LIS}(A) + \text{LIS}(B) = 6$ とすることはできないことが証明できるので、答えは $5$ です。

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