ABC205

くそ全然わからん。でも昨日のARCよりずっと面白かった。

A - kcal

最初Bで割ってたし100mlに動揺させられたね。掛け算して100で割る。

B - Permutation Check

ソートして比較。logを付けたくなければカウントしてもいいが。

C - POW

かなり怖い見た目で、どっちもC乗なのしばらく気づかなかった。Cが偶数のときはABの符号が関係なくなるので絶対値とっちゃう。あとは大小関係が保存されるので単にAとBを比較する。

D - Kth Excluded

二分探索で解けそうなのはすぐわかるが、頭ぶっ壊れ系なのが厳しい。最初適当にやろうとして全然進まなかったので冷静にやる。iが何番目の数かは二分探索でわかる。それがわかるなら、さらに二分探索すればK番目かそれより後の数のうち一番小さいものが答え。前者の二分探索では、後者の二分探索でAに含まれる数を答えとして出力しないよう、Aの中にi以下のものが何個あるかを求める(i未満としてはいけない)(L個あったとすると、iはi-L番目とわかる)。

(解説を見て)そうこういうのだよ、「最初適当にやろうとして」たときにこういうのをやりたかったんだ(ほんとか?)。

E - White and Black Balls

EFを交互に考える。2/3くらいの時間をEに使った。どちらも全然わからず厳しい。

左から貪欲に白優先で置いていくことを考える。すると、白がK個並び次に黒白交互で最後はあまった黒となる。白がK個以下のときは自由に置けてただの二項係数、交互に置けるだけの黒がないときは0通り。そうでないときが本題。この状態からは、どの黒も右へは動かせない。左へは、左の黒を追い越さないかぎり自由に動かせる(黒は左に移動して(条件を満たすかどうかという意味で)損しない)。実験してOEISに突っ込んだりもしたが実験が間違ってたりして色々酷かった。でもそのくらい何も思いつかなかった。

(追記)夜のうちにまともに実験し直して、OEISに入れるまでもなくカタラン数なやつが出てきた。そこからググったりして考え続けても全くわからず。そもそもカタラン数が経路の数え上げになるのも知らなかった。朝起きてツイートや解説を見る。鏡にうつすの天才だしそこからも難しい。反転させてゴールが条件を満たさない領域へ行く必要がある(そうでないと一対一対応しない)。典型だったけど、難しい問題だった。

F - Grid and Tokens

あちらを立てればこちらが立たず、フローか?と思うが、やろうとしてみるとそういう感じの条件でもないか。長方形の領域内に1つしか置けないというわけでもないし、行に1つだけという条件もあるし、複雑に絡み合って解けそうに見えない。

(追記)二部グラフのマッチングを思いつき、フローで行けそうな可能性が見えた。行と列をマッチングさせる。各行へ1しか流してないので、ある行からある列へ複数の辺を張っても同じマスが2回以上選ばれることはない。最初、(C-A)*(D-B)本の辺を張っていたがこれだと同じ駒を複数回置けてしまう。駒毎に太さ1の道を通らせるよう変更してAC。自力で解けたのは嬉しいけど、またしてもフローを使う問題を本番で通せなかった。結果が出ないと無能さを実感させられて、じわじわとつらくなってくる。昨日のARCとはまた別種のつらさだ。