2023/12/10に開催された、AtCoder Beginner Contest 332に参加しました。
土曜のARCでは、なんとか水パフォを確保して少しレートを戻すことができました。
しかしながら、直近ではABCだけでみると3連敗中。。精進不足ということもありますが、凡ミスのせいで順位を大きく落としてます。
今回は、なんとか連敗を止めようという感じで臨んでみます。
Rated参加します。
— devgenjin77 (@devgenjin77) 2023年12月10日
ABCだけで見ると3連敗中なので、今回はなんとか水パフォ以上取ってレートをあげていきたいです
AtCoder Beginner Contest 332 - AtCoder https://t.co/eEhP1bZcFB
今回の結果
E問題以降の難易度が高かったこともあり、4完で終了。Dは、もう少し早く解けてたなあという印象です。
パフォーマンスの方は、ギリ水色に到達。なんとかABCの連敗を止めることが出来ましたとさ。
4完確保でギリ勝ち😅
— devgenjin77 (@devgenjin77) 2023年12月10日
Dの解答時間で大分上下しそうな感じだが、一部勘違いがあって時間ロスしたのが悔やまれる。。
devgenjin77さんのAtCoder Beginner Contest 332での成績:1556位
パフォーマンス:1229相当
レーティング:1142→1151 (+9) :)#AtCoder #ABC332 https://t.co/z6i48NUF4v
振り返り
D問題で誤読があり、解答が大きく遅れてしまいました。
A問題
書いてることを、そのまま実装するだけという感じの問題。
最初に、答えを計算し、未満だった場合は、送料として円を答えに足せば良い。
提出して、問題なくAC。2分1秒で1完です。
提出コード
https://atcoder.jp/contests/abc332/submissions/48364277
B問題
何がしたい操作なのか、よくわからんが、とりあえず書いてることをそのまま実装してシミュレーションすれば良いかと。
サンプルが通る実装を組んで提出。問題なくACで、7分33秒で2完です。
提出コード
https://atcoder.jp/contests/abc332/submissions/48370656
C問題
貪欲で解けないかと思ったが、よくよく考えると、を上限とした二分探索でも行けるかという感じ。
問題なくサンプルが通る実装が組めたので、提出したら、問題なくACが取れましたとさ。18分3秒で3完。
ちなみに、これ制約が最大と小さいので、個〜個買うを全部試すの貪欲でも通せた模様。
提出コード
https://atcoder.jp/contests/abc332/submissions/48378188
D問題
最近のD問題にありがちな、実装重めの全探索という印象の問題。
制約を見てると、全パターン試せばいいのかという感じだが、今回は並び替えの最小回数まで求める必要があるので、少しハードルが上がる感じ。
で、とりあえず、目的が達成できるかを考察してみると、行の入れ替えと列の入れ替えは独立に評価できそうなので、それぞれ行と列の並びを順列全探索で試せば良いことがわかった。
あとは、交換回数を最小化するだけだが、当初、行、列に対する操作は任意の箇所を交換できると誤読していたため、実際に実装してみるとサンプルが合わないという事態に。
これでかなりの時間をロスしてしまいましたが、よくよく問題を見直すと、隣同士しか交換できないということで、結局、転倒数使えという事かよというオチでした。
そんなこんなで、やっとこさコードを提出してAC。74分24秒で4完です。
提出コード
https://atcoder.jp/contests/abc332/submissions/48396707
E問題
DFSなど使って解けそうかなあという感じだったが、時間が足りずで実装できず。。
解説をみると、結局集合DPだった模様。最近のE問題にしては、大分難易度高めじゃね。
F問題
問題の見た目が、いかにも遅延セグ木を使うという感じだったが、どうやって実装するかがわからんかった。
結局、解説をみると、確かに遅延セグ木が想定だった模様。最近になって、遅延セグ木の問題がよく出てくる感じになったので、こりゃ使い方をちゃんと勉強しないとなあという感じになりました。
G問題
問題すら見ておりません。
これまでの実績
一応、週末2連勝で、再入水に近づくことができました。
総括
D問題の誤読が痛かった回でした。最近、この手の凡ミスが多くて、かなりレートの伸び悩みの原因になってる感じがしてます。
振り返ると、どうも問題文を読み飛ばしてしまう変なクセがついてる様な気がしてるので、とりあえず、次回以降はこの辺に注意して取り組んでみることにします。
ということで、また次回も頑張ります。