hitoare日記

たまに書きます

E - Count Median(AtCoder Beginner Contest 169)

問題リンク

atcoder.jp


問題概要

長さ\(N\)の整数列\(A_i\)と\(B_i\)が与えられていて、\(A_i \leqq B_i\)が成り立つ。

各iに対して\(A_i \leqq X_i \leqq B_i\)となる整数\(X_i\)をとった時、\({X_i}\)の中央値として有り得る値はいくつあるか。

解法

 まず\(N\)が奇数の時を考える。

中央値として有り得る最大の値はBの中央値(ここではMとおく)、最小の値はAの中央値(mとおく)であり、その間の整数の数が答えになる。

必要性としては、もし\(M < x\)ならばx以上の値をとる\(X_i\)は全体の半分未満なのでxは中央値になりえない。\(x < m\)のときも同様。

十分かどうかを考える。今\(m \leqq x \leqq M\)とする。この時Mのとり方から\(x \leqq B_i\)となるようなiが(N+1)/2個以上存在し、\(A_i \leqq x\)となるようなiが(N+1)/2個以上存在する。また、\(A_i \leqq B_i\)より全てのiに対し少なくとも一方が成り立つ。

ここで{1,2,...,N}を3つの部分集合に分割して

  • \(A_i \leqq x\)を満たす(N-1)/2個
  • \(x \leqq B_i\)を満たす(N-1)/2個
  • \(A_i \leqq x \leqq B_i\)を満たす1個

とできる(1つ目、2つ目の条件の一方しか満たさないものから優先して決めていけば良い)。

1つ目の部分集合からは\(A_i\)、2つ目からは\(B_i\)、3つ目からはxを選ぶと中央値をxにできる。

 

\(N\)が偶数の時も、同様の議論をする。

中央値xが\((x_1 + x_2)/2\)(ただし\(x_1 \leqq x_2 \) )として計算されている場合、

  • \(A_i \leqq x_1\)を満たすN/2-2個
  • \(x_2 \leqq B_i\)を満たすN/2-2個
  • \(A_i \leqq x_1 \leqq B_i\)を満たす1個
  • \(A_i \leqq x_2 \leqq B_i\)を満たす1個

として分割する。

取りうる値が1/2刻みになることに注意

提出

https://atcoder.jp/contests/abc169/submissions/13818295

感想

 こういう問題怖い。

F - Knapsack for All Subsets(AtCoder Beginner Contest 169)

問題リンク

atcoder.jp


問題概要

 省略

解法

Knapsack for All Segmentsの類題。

\(dp[i][j] =\) {\(A_1,...,A_i\)の各部分集合に対する、和がjとなる部分集合の数}

と置いてDPする。

遷移は

\(dp[i+1][j] = 2dp[i][j] + dp[i][j-A_{i+1}]\)

となる。

右辺の第1項は\(A_i\)を含む集合(ただし和には使わない)と含まない集合両方を合わせた遷移、

第2項は\(A_i\)を含む集合で和にも使う場合を考えた遷移に対応する。

提出

https://atcoder.jp/contests/abc169/submissions/13824819

感想

 All Segmentsの方が難しい気がする。

解けなかった問題集

個人的に

  • コンテスト中に解ききれなかった
  • 解法が思い浮かばず解説ACした

などの理由で特に悔いが残る問題をまとめておく。

 

ABC

 

F - Negative Traveling Salesman

F - Usual Color Ball Problems

F - Virus 2

F - Square Subsequence

G - Increasing K Times

G - Stonks

G - Round Robin

G - Strongest Takahashi

Ex - Manhattan Christmas Tree

G - Longest Y

F - Blocked Roads

F - Substrings

G - Connectivity 2

F - Zebraness

E - NEQ

E - ∙ (Bullet)

E - Active Infants

E - Payment

F - Xor Sum 3

F - Permutation Oddness

D - ロボット

D - サプリメント

ARC

C - Prefix Mex Sequence

C - Max Dot

E - Increasing LCMs

E - 1D Party

E - LEQ and NEQ

E - Paper Cutting 2

E - 1D Reversi Builder

E - Sorted and Sorted

E - Bichrome Spanning Tree

E - Papple Sort

F - Lotus Leaves

D - Alice&Brown

E - Addition and Subtraction Hard

C - 魔法使い高橋君

B - 同一円周上

C - N!÷K番目の単語

C - 合コン大作戦

D - suffix array

D - Chaotic Polygons

AGC

B - Insert 1, 2, 3, ...

C - Robots

B - RGB Balls

C - ABland Yard

C - Coins

D - Black and White Tree

B - Hamiltonish Path

C - AND Grid

D - Teleporter

C - Shorten Diameter

企業コン等

F - チーム分け

E - Tough Journey

H - 最悪のバス停決定戦

H - 部屋割り

C - メンテナンス明け

D - タクシー

E - Connecting Cities

B - Sum AND Subarrays

E - Attack to a Tree

D - Three Colors

E - Card Collector

D - Shortest Path on a Line

C - ThREE

JOI系

D - 貨物列車 (Freight Train)

C - 選挙で勝とう (Let's Win the Election)

F - チーム戦 (Team Contest)

F - デジタルアート (Digital Art)

B - 展覧会 (Exhibition)

D - 水ようかん (Mizuyokan)

A - コピー&ペースト 2

D - フクロモモンガ (Sugar Glider)

4 - JOIOIの塔 (Tower of JOIOI)

2 - マスコットの片付け (Mascots)

F - 方向音痴のトナカイ

fraction - 分数 (Fraction)

fermat - フェルマー方程式 (Fermat)

その他

D - ukuku

D - ロストテクノロジー

E - 根付き森二人用ゲーム

B - Replace to the Other

E - Exactly K Triangles

F - Flexible Permutation

G - Grand Election

F - 来年も本選に20人送り込むので覚悟しておいてください