難易度評価

難易度を1〜10段階で評価できます。投票はあとから変更・取り消しできます。

難易度(投票) 未投票 (0票)

投票の分布

まだ投票はありません。

  1. Lv.10票
  2. Lv.20票
  3. Lv.30票
  4. Lv.40票
  5. Lv.50票
  6. Lv.60票
  7. Lv.70票
  8. Lv.80票
  9. Lv.90票
  10. Lv.100票

難易度の目安を見る ↗

ログインして難易度を投票

外部サイトへ移動します

リンク先の URL を確認してから開いてください。

別タブで開く

Radio Interference

作成者 mackerel38

テスター yimiya

難易度(作成者設定) Lv.4

難易度(投票) 未投票 (0票)

実行時間制限
2 秒
メモリ制限
512 MiB

解説

AA の順序は答えに影響しないので、 AA は昇順ソートされているとして考える。

AA において隣接するラジオ局の周波数の差が偶数であるとき、その平均は正整数であり、混線が発生する。

したがって、混線が発生しないための必要十分条件は、すべての隣接する周波数の差が奇数であることである。

AA の要素を 11 つ変更して混線が発生しないようにできる条件を考える。

AA の要素を 11 つ変更することは、11 要素の削除と 11 要素の挿入に分けて考えられる。

cc:Ai+1−AiA_{i+1}-A_i が偶数である ii の個数

dd:Ai+1=AiA_{i+1}=A_i である ii の個数

と定義する。混線が発生しないことと c=d=0c=d=0 であることは同値である。

AA の要素を 11 つ削除すること、および 11 つ挿入することは、それぞれ cc の値を高々 11 しか減らせない。よって、c≤2c\le 2 が必要である。

また、d≥2d \ge 2 なら、11 要素を削除しても Ai=AjA_i = A_j (i≠j)(i \neq j) となる i,ji, j が残るため、d≤1d\le 1 も必要である。

逆に、c=0c=0 なら変更する必要はない。1≤c≤21\le c\le 2 かつ d≤1d\le 1 なら、次のように変更できる。

  • d=1d=1 なら、重複する要素の一方を削除する。

  • d=0d=0 かつ c≥1c\ge 1 なら、差が偶数である隣接する 22 要素の一方を削除する。

削除した場合、残った要素はすべて相異なり、cc はちょうど 11 減るため、c≤1c\le 1 かつ d=0d=0 となる。 c=1c=1 なら、差が偶数である隣接する 22 要素の間に、左側の要素 +1+1 を挿入すればよい。c=0c=0 なら、最大値 +1+1 を挿入すればよい。 いずれの場合も混線が発生しないので、十分性が示された。

すなわちこの条件を満たすか判定することで、 O(Nlog⁡N)O(N\log{N}) でこの問題を解くことができる。

ユーザー解説

ユーザー解説を書く

ユーザー解説はまだありません。