atcoder#ARC097C. [ARC097E] Sorted and Sorted

[ARC097E] Sorted and Sorted

题目描述

それぞれ 1 1 から N N の整数が 1 1 つずつ書かれた白いボールと黒いボールが合わせて 2N 2N 個一列に並んでいます。 左から i i (1 1 < = <\ = i i < = <\ = 2N 2N ) 個目のボールに書いてある数は ai a_i で、色は ci c_i で表されます。 ci c_i = = W のとき ボールが白いことを、ci c_i = = B のとき ボールが黒いことを表します。

人間の高橋君は次のような目標を達成したいです。

  • 1 1 < = <\ = i i j j < = <\ = N N を満たす任意の整数の組 (i,j) (i,j) に対して、i i が書かれた白いボールの方が j j が書かれた白いボールより左にある
  • 1 1 < = <\ = i i j j < = <\ = N N を満たす任意の整数の組 (i,j) (i,j) に対して、i i が書かれた黒いボールの方が j j が書かれた黒いボールより左にある

目標を達成するために高橋君は次のような操作ができます。

  • 隣り合う二つのボールをスワップする

目標を達成するために必要な操作回数の最小値を求めてください。

输入格式

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

N N c1 c_1 a1 a_1 c2 c_2 a2 a_2 : : c2N c_{2N} a2N a_{2N}

输出格式

目標を達成するために必要な操作回数の最小値を出力せよ。

题目大意

2N2N 个球排成一列,其中有 NN 个黑球与 NN 个白球。把 11NNNN 个数字分别写到 NN 个黑球上;白球亦然。左起第 ii 个球上的写的数字是 aia_i,颜色是 cic_icic_i 为 B 是黑球,为 W 是白球。

定义一次操作为交换两个相邻的球。你需要求出最少的操作使得序列中

  1. 从左到右黑球上的数字递增。
  2. 从左到右白球上的数字递增。

同时满足。

3
B 1
W 2
B 3
W 1
W 3
B 2
4
4
B 4
W 4
B 3
W 3
B 2
W 2
B 1
W 1
18
9
W 3
B 1
B 4
W 1
B 5
W 9
W 2
B 6
W 5
B 3
W 8
B 9
W 7
B 2
B 8
W 4
W 6
B 7
41

提示

制約

  • 1 1 < = <\ = N N < = <\ = 2000 2000
  • 1 1 < = <\ = ai a_i < = <\ = N N
  • ci c_i = = W または ci c_i = = B
  • i i j j なら、 (ai,ci) (a_i,c_i) (aj,cj) (a_j,c_j)

Sample Explanation 1

例えば次のようにすると 4 4 回で可能です。 - 黒の 3 3 と白の 1 1 をスワップ - 白の 1 1 と白の 2 2 をスワップ - 黒の 3 3 と白の 3 3 をスワップ - 黒の 3 3 と黒の 2 2 をスワップ