2022/5/8に開催されたAtCoder Beginner Contest 250に参加しました。
先週はABCの開催がなかったので、2週間ぶりのRatedコンテスト参加。
ゴールデンウイーク中は、過去問の見直しなども結構こなしており、練習は積み重ねたつもりなので、その成果を出すべく水パフォ目標で臨むこととしました。
Rated参加します。
— devgenjin77 (@devgenjin77) 2022年5月8日
目標は水パフォ。頑張ります✊
AtCoder Beginner Contest 250 - AtCoder https://t.co/NhV0brJS7Y
今回の結果
終わってみれば、4完終了。目標達成は微妙なところとなりました。。。
結局、パフォーマンスはわずかに水色に届かずというところ。一応レートは上がったので、その点はヨシとしましょう。
4完緑パフォでレート上昇しました😂
— devgenjin77 (@devgenjin77) 2022年5月8日
水パフォまでもう少しでしたが、また来週頑張ります
devgenjin77さんのAtCoder Beginner Contest 250での成績:1582位
パフォーマンス:1187相当
レーティング:1042→1057 (+15) :)#AtCoder #ABC250 https://t.co/SEpYK4VHbL
振り返り
E問題を解き切ることが出来ませんでした。
A問題
A問題にしては少しややこしそう見た目という印象。
上手いやり方があるかと考えましたが、すぐには思いつかず。とりあえず愚直にマスから上下左右を見たときに、盤面の範囲外にならない場合のみ答えにプラス1する実装としました。
途中、実装をバグらせてしまい、タイムロスをしましたがなんとかAC。
8分10秒で1完。少し時間が掛かりすぎです。
提出コード
https://atcoder.jp/contests/abc250/submissions/31518723
B問題
これもだいぶ面倒な問題かという印象。
マス目を見たときに、を、をで割れば、現在のマス目に対応するタイルが分かる。
あとは、との偶奇で場合分けし、黒か白かを判断すればよい。
ということで、上記の要領で実装して、ACを取る事が出来ました。
16分5秒で2完。まだ、時間が掛かりすぎているという状況です。
提出コード
https://atcoder.jp/contests/abc250/submissions/31523141
C問題
一瞬、が右端だったら、先頭の数字と入れ替えるのかと誤読しそうになったが、なんとか踏みとどまった。。
なんかこの手の問題はどこかでやったことがあるかもという既視感を覚えたが、解法はすんなりと出来上がりました。
索引を指定して、何の値が入っているかを管理する配列と、値を指定して、何番目に入っているかを管理する配列をそれぞれ用意し、あとはクエリを順番に処理してにシミュレーションをしていけばよい。
あとは実装と提出を行い問題なくACが取れました。
30分5秒で3完。前回ABCではC問題を落としましたが、今回はすんなり通せたので多少安心しました。
提出コード
https://atcoder.jp/contests/abc250/submissions/31528912
D問題
一読して、制約よりになることが明らかなので、あとはその範囲で素数を全部探索すれば良いかという印象。
ということで、まずとなる素数全てについて、ぞれぞれに対応するが何個あるかを数え上げていく方法を取る。
に対応するが取りうる範囲は、 且つ となるので、あとはその範囲で素数表を素数の数を数え上げをしていけばよい。
当初、素数表をどの範囲まで作れば良いかが不明で、とりあえず最大値をローカルで試したところ、80万ぐらいまで作っとけばいける模様。TLEしないか少し心配でしたが、提出してみたら無事ACが取れましたとさ。
55分16秒で4完。個人的にな印象では、5完目いけるかどうかは微妙な情勢です。
提出コード
https://atcoder.jp/contests/abc250/submissions/31536381
E問題
途中まで考察したものの、実装が間に合わず。
:= の先頭個目までの集合が、の先頭個目から個目までの集合と同一。(存在しない場合は、-1)
上記の配列を構成する処理を行い、それぞれのクエリにで答えればいけるという感じだったが、実装がややこしくなってしまい、結果まともに動かすことすらできずに時間切れとなりましたとさ。。
F問題
問題すら見れておりません。
G問題
問題すら見れておりません。
Ex問題
問題すら見れておりません。
これまでの実績
一応、直近のHighest付近に迫ることが出来ました。次回はこれを更新したいところ。
総括
今回のE問題は解けずで残念でしたが、それ以前の問題も実装に手こずったりでタイムロスをしてしまったところもあり、反省点が多い回でした。
もう少し、早解きができれば、後の問題に費やせる時間もできてくるというところですので、今後は簡単そうな問題も早く解けるように心がけながら精進を続けていきたいと思います。
ということで、また次回も頑張ります。