2020/9/26に開催されたACL Beginner Contestに参加しました。
で、本来この週はRatedコンテストはなかったはずだったんですが、ACL2が延期になったとかで、当日急遽このコンテストが開催されることになってました。この週はぼちぼちと精進してく予定だったんですが、折角なんで参加してみることにしましたー。
ACL Beginner Contest - AtCoder https://t.co/G9xnP09bKD
— devgenjin77 (@devgenjin77) 2020年9月26日
ACL 中身ほとんどみてないけど爆死覚悟で参加してみますー
今回の結果
で、今回は、3完というぼちぼちの結果で終了です。
ちょうど今のレーティングとおんなじぐらいのパフォーマンスで、レーティング変動なしでした。
devgenjin77さんのACL Beginner Contestでの成績:2512位
— devgenjin77 (@devgenjin77) 2020年9月26日
パフォーマンス:543相当
レーティング:537→537 (±0) :|#AtCoder #ACLBeginnerContest https://t.co/dVXCizmI1S
3完でレートは現状維持でした。また次回も頑張ります。
振り返り
B,Cで結構やらかしました。
A問題
入力されるの数分"ACL"と繰り返し出力しろという問題。
ACL言いたいだけやろと思ったが、とりあえず言われたとおりに実装してAC。
B問題
条件を整理すると、かだったらNo、それ以外はYesと出力すればよいので、あとは実装だけしてAC。。
と、おもったら制限がlongの範囲だったので、int型で取ってたプログラムがCEとなった。。。longで取り直してやっとAC。
制限はちゃんと見とけという知見を得ました。
C問題
問題文をさらっとみて、これUnion-Findで繋いで、出来上がったグループの数のマイナス1が答えということに気付く。
というわけで、とりあえず少し前のABCの問題にUnion-Findの実装があったんで、そっからコードを引っ張ってくることに。
で、その時のACしたコードの出力をマイナス1したらなんかサンプルデータのテストが通ったんで、とりあえず投げてみたらWA食らいましたw
まー、さすがにこれで通るぐらい甘くはないだろうということで、今度はUnion-Findの内部のroot配列(根となる要素の配列)に存在する根の種類の数からマイナス1したやつで投げてみたら、これも何故かWA。。。
あまりにも謎な結果だったので、ほかの問題に移ってみたりテストを増やしてみたりといろいろ試した挙句、ACLのPractice ContestのDSU問題から適当なDSUクラスの実装コードを漁ってきて、ごにょごにょした結果あっさりACが取れました。
前の実装のWAの原因が不明でしたが、とりあえず2完終了は阻止したので結果オーライです。
D問題
問題文見てみたんですが、解法がわからんかったのでパス。
E問題
これも上手い解法は思いつかなかったんですが、とりあえず愚直に実装するコードぐらいは書けそうだったので、とりあえずサンプルは通るコードを書いて投げてみました。
で、案の定TLE食らいました。。
F問題
結局、問題文を一読しても解法は思い浮かばすでしたー。
これまでの実績
相変わらず、茶色の真ん中下あたりをうろうろしています。
総括
今回はAC-Libraryを使った練習セットの問題だったということで、ライブラリ周りの知識不足を痛感しました。セグ木とかBITとか現在勉強中なので、自力でライブラリを整備していこうと思っています。
また次回も頑張ります。