2020/10/10に開催されたHHKB プログラミングコンテスト 2020に参加しました。
2週間ぶりのABCクラスのコンテスト。ここ数回は2完で終わってしまうことも結構あったので、何とか3完をノルマとして頑張ることにしました。
HHKB プログラミングコンテスト 2020 - AtCoder https://t.co/x8z4QbN0ud
— devgenjin77 (@devgenjin77) 2020年10月10日
参加しますー。なんとか3完以上できるよう頑張ります。
今回の結果
で、今回はノルマ通りの3完で終了です。
2完終了つづきで、下がってた分は取り戻せました。
一応Highestは更新してますが、個人的にはまだ満足行く結果じゃないので、正直更新できて嬉しいという実感はありません。
devgenjin77さんのHHKB プログラミングコンテスト 2020での成績:2494位
— devgenjin77 (@devgenjin77) 2020年10月10日
パフォーマンス:880相当
レーティング:590→626 (+36) :)
Highestを更新しました!#AtCoder #HHKBプログラミングコンテスト2020 https://t.co/BhJWJh77rb
一応Highest更新。また明日に向けて頑張ります。
振り返り
D以降は提出できずでした。
A問題
が'Y'ならの文字を大文字で出力しましょうという問題。
Javaなら大文字変換はtoUpperCase()でやれば良いです。
あとは実装だけ、、と思ったが変にtypoしてまったせいで提出にモタついてしまい、遅めの3分台でAC。
B問題
一瞬Bにしては難しい問題かな?と思いましたが、縦横がそれぞれ100以下と小さいため愚直なやり方で通すことにしました。
縦横の位置それぞれ2重ループを回しつつ、現在位置と右、または下が散らかっていなければカウンタをプラス1する実装でAC。
C問題
解法の検討で大分モタつきましたが、の最大値が200,000ということで、以下の解法で解きました。
- サイズが200,000を少し超えるぐらいの配列aを初期値0で作成
- を読んで、a[ ]をプラス1する。その後配列aの値が0となる最小のインデックスを出力する。これを回繰り返す。
大分愚直感のある実装で、提出後の反応がいまいちなことから、一瞬TLEもあるかとヒヤヒヤしましたが、なんとか実行時間1sec程度でACしてくれました。
D問題
解けずでした。おそらく1個1個のケースについて解くなら愚直でやればいいかもしれんが、最大100,000個のケースを一回で通すとなると、個々の計算でループ回すわけにも行かないです。何らかの方程式で解けるやり方があるか色々検討しましたが、結局実力が足らずで時間切れでした。
E問題
問題を一目見て、解法がまったく思いつかず。こりゃ多分解答になんかのテクニックが必要なやつだと思って、早々に諦めました。
F問題
まったくもってわからず。後日見直します。
これまでの実績
一応、Highest更新ですが、緑はまだ遠そうです。
総括
なんとか2完終了は回避しましたが、最近水色diff以上の問題がコンテスト中にまったく解けてないのが停滞の原因だと思ってます。高難易度の問題の精進にいっそう取り組もうと思います。
また、次回も頑張ります。