AtCoder Beginner Contest 134

結果

tokuminiさんのAtCoder Beginner Contest 134での成績:320位
パフォーマンス:1845相当
レーティング:1913→1906 (-7) :(

 D問題で4WA出したのが痛かった。

 提出

A問題

半径aの円に内接する正十二角形の面積は3a^2であることが知られています。 

知らなかった。

B問題

 \lceil \frac{N}{2 D + 1} \rceilで求まる。整数型だと(a + b - 1) / bで切り上げできるというの便利だなと書くたびに思う。

C問題

 A_iが最大値のときだけ二番目に大きい値を出力してそれ以外は最大値を出力する。この一番大きい値と二番目に大きい値を求めるというやつはモンテカルロ木探索の終了タイミング判定でやるので手が覚えていた。

D問題

 後ろから入れていけば不可能になる場合はないなと思ったけど、ボールを入れる場合に約数をO(\sqrt{N})で列挙して入れていくやり方で実装していたら脳が混乱してバグらせまくった。4WA出した末に調和級数の和が\frac{1}{N}みたいなことを思い出して普通にやったらAC。前者の方針通せなかったのは約数列挙で割り切れるときiN / iの両方を考慮しないといけないのにiの方しか考えてなかったからだった。凡ミス。

E問題

 std::multisetでやっていくと通る。

F問題

 ずっとdp[i[j] := 1からiまでの順列で奇妙さがjになる個数]というものの遷移を考えて全然とけねーってなってた。情報が足りない感じはあったけど確信できなかった。

 解説PDFを読んでもあまりよくわからなかったが解説放送を見て納得した。

f:id:tokumini:20190721143946p:plain

 この図がすごい。放送では遷移はまぁ考えればできるでしょとのことだったけどわりと時間かけてもわからなかったのでPDFに戻って理解してAC。この遷移を詰めきるのもなかなか難しいと思う。面白い問題だった。