2021/4/24に開催されたAtCoder Beginner Contest 199(Sponsored by Panasonic)に参加しました。
今回の目標は4完。あわよくば5完取れればという気持ちで臨みました。
参加いたします。なんとか4完、あわよくば5完目指して頑張ります。
— devgenjin77 (@devgenjin77) 2021年4月24日
AtCoder Beginner Contest 199(Sponsored by Panasonic) - AtCoder https://t.co/JzKYNjsj08
今回の結果
で、今回はあえなく3完で終了となりました。
ですが、結局D以降がムズすぎでの3完終了だったためか、そこそこのパフォーマンスが出ており、結局レートを少し上げることができました。
3完だったけど、4桁パフォでチョイ上げ。
— devgenjin77 (@devgenjin77) 2021年4月24日
D以降がむずすぎやったね😓
devgenjin77さんのAtCoder Beginner Contest 199(Sponsored by Panasonic)での成績:2398位
パフォーマンス:1023相当
レーティング:950→957 (+7) :)#AtCoder #ABC199(SponsoredbyPanasonic) https://t.co/PNsJp8riIH
振り返り
D以降が歯が立たずでした。
A問題
かを判定する問題。普通に実装してAC。
B問題
一読した時点では解法が思い浮かばなかったが、よくよく検討したところ、数列の最小値から数列の最大値を引いてプラス1したものが答えになると確信。
答えがマイナスになる場合はゼロが答えになる。
上記の要領でACが取れました。
C問題
愚直に文字列処理を実装するとTLEになる系の問題かという感じ。
実装方針に工夫をしないとなーという感じなので、まずはクエリ2の前半後半を入れ替えるところを工夫することでなんとかする方針をとりました。
まず、文字列を前半文字と後半文字の文字列に分割。
クエリ2の時は、文字列を参照している変数を入れ替えることで処理を軽くしてみました。
で、クエリ1の場合は、文字列が半分ずつになっていることを考慮して調整する感じ。
実際提出してみると、反応が鈍かったので、すわTLEかと思ったが、なんとか500ms程度で収まったようで、無事ACを取ることができました。
D問題
大分苦手なグラフ問題。しかも順位表をみてると、開始40分以上経過してACが200台ということで、相当な難易度であることが見て取れる感じ。
コンテスト中の検討では、連結成分ごとに分けて考えて、あとパスの場合とかサイクルの場合とかで色々場合分けするのかと考えたものの、色々なパターンを検討すると答えが難しく結局良い実装が思いつきませんでした。
というわけで、半分ギブアップという感じで終了です。
E問題
問題をチラ見しました。よく分かりませんでした。
F問題
問題すらみれておりません。
これまでの実績
一応少しだけレートが上がりました。が、水色到達はまだまだ先のようです。
総括
今回の問題は、D以降が青Diffの後半以上だったということで、緑コーダーの立場からすると早解き能力を問われる回となりました。
まあ個人的には早解き力を鍛えるよりは高難易度の問題を解く力を身につけたいので、今回解けなかった問題も含めて解説ACなどすることで精進していこうと思います。
また、次回も頑張ります。