2021/2/27に開催されたキャディプログラミングコンテスト2021(AtCoder Beginner Contest 193)に参加しました。
先週の土日は立て続けにコンテストに参加しましたが、いずれも残念な結果で茶色レートに沈んでしまいました。今回はレートのことはとりあえず置いといて、初心に立ち返って臨むことにしました。
キャディプログラミングコンテスト2021(AtCoder Beginner Contest 193) - AtCoder https://t.co/1s2MMYpSMI
— devgenjin77 (@devgenjin77) 2021年2月27日
参加します。ここ2回残念な結果しかだせていないので、今回は初心に立ち返り、まずは目の前の問題を解くことに集中しようと思います。
今回の結果
で、今回の結果は3完というなんとも微妙な結果になりました。
それでも、Cまでが早めに解けてたおかげか緑パフォーマンスを達成し、なんとかレートは少しプラスとなりました。
devgenjin77さんのキャディプログラミングコンテスト2021(AtCoder Beginner Contest 193)での成績:3005位
— devgenjin77 (@devgenjin77) 2021年2月27日
パフォーマンス:842相当
レーティング:772→779 (+7) :)#AtCoder #キャディプログラミングコンテスト2021(ABC193) https://t.co/bKlDFK1S6Q
3完緑パフォでした。次も頑張ります。
振り返り
Cまでは順調でしたが、Dで大きくつまづいてしまいました。
A問題
入力をdoubleで取り、以下の計算で出力してACが取れました。
gist3283dd1e0918020532da4e1699d3a657
B問題
であるレコードのの最小値を出力すれば良い。これも問題なくAC。
C問題
以下で且つで表せる値の数をから引けば良い。
で表せる値の数は、の範囲で全探索して求めればよく、Setを使って重複カウントを避ければOK。これも問題なくAC。
D問題
苦手な数学系の問題。なおかつ、あまり慣れていない確率計算の問題だったので、だいぶ戸惑いましたが、解法についてはなんとか早めに方針が立ちました。
高橋くん、青木くんがそれぞれ1〜9のカードを引く場合の数を求める。あとは手札の点数を計算する関数を実装して、高橋くんと青木くんの点数を比較。高橋くんが勝ったケース数を計算して、全ての場合の数を分母にして計算すればOK。
と、思いきや、サンプルのうちなぜか3だけが通らない。。
結構難し目の4が通って、3だけが通らない謎の展開。色々デバッグをしてみたり、あとは分母の計算を変えてみたりしてみたが、今度は3以外が通らなかったりと散々な内容。結局苦し紛れに投げてWAを1回喰らったのを最後に提出できず、時間切れとなりました。
あとでよくよく考えると、そもそも分母の計算方法が間違っているようでして、このあたり、自分の数学オンチが祟ったというところでした。
E問題
Dがあまりにも解けないので、Eに少し浮気しましたが、やはりちんぷんかんぷんだったので、早々に諦めました。
F問題
問題文をチラ見しましたが、よくわかりませんでした。
これまでの実績
ここ最近下げ気味だったレートが少し戻りましたが、まだまだ停滞ムードは抜けていないようです。
総括
今日のDも通せなかったのはだいぶ残念でしたが、今回は自分の弱点がまた一つわかったので、これを機会に確率系の問題も重点的に対策しようと思います。
また、次回も頑張ります。