2023/10/14に開催された、日本レジストリサービス(JPRS)プログラミングコンテスト2023(AtCoder Beginner Contest 324)に参加しました。
先週は、ABC、ARCと、立て続けに惨敗してしまい、あっという間の緑落ちを喰らってしまいました。
再度の入水に向けて地道にレートを稼いでいこうということで、今回も水パフォ目標で頑張っていきます。
Rated参加します。
— devgenjin77 (@devgenjin77) 2023年10月14日
先週で緑落ちしてしまったので、再度入水に向けて頑張ります✊
日本レジストリサービス(JPRS)プログラミングコンテスト2023(AtCoder Beginner Contest 324) - AtCoder https://t.co/gwQUK9y1qH
今回の結果
なんとか5完を達成しました。
パフォーマンスは、水色中間というところ。再度の入水に近づくことが出来ました。
5完水パフォでした😃
— devgenjin77 (@devgenjin77) 2023年10月14日
devgenjin77さんの日本レジストリサービス(JPRS)プログラミングコンテスト2023(AtCoder Beginner Contest 324)での成績:1298位
パフォーマンス:1398相当
レーティング:1149→1177 (+28) :)#AtCoder #ABC324 https://t.co/JxlnSHItqB
振り返り
相変わらず、小さいミスが続いてしまったことが反省材料です。
A問題
数列の値が全て同じかを判定する問題。ループで判定すれば良いので、やるだけの実装をしました。1分17秒で1完。
提出コード
https://atcoder.jp/contests/abc324/submissions/46521548
B問題
をとで割れるだけ割った後、になっているかを判定すれば良い。
これもやるだけの実装でACが取れました。2分56秒で2完です。
提出コード
https://atcoder.jp/contests/abc324/submissions/46526045
C問題
文字列が、文字列と最大1文字違いであるのかを判定する問題。
愚直に判定していくしかなさそうで、なかなかシンプルに実装するのが難しそうな感じ。
仕方なく、の場合、の場合、の場合それぞれでループを回し、最大1文字違いなのかを判定する実装をしました。
初回の提出では、答えが0件の場合を考慮できておらず、REを喰らいましたが、修正してなんとかAC。23分10秒1ペナで3完です。
提出コード
https://atcoder.jp/contests/abc324/submissions/46544237
D問題
平方数を全探索して、問題の条件に合うように各ケタの数字の数が合っているかを判定していけば解けるだろうという感じの問題。
で、実装して提出してみたら、惜しいところで1WA。。
直感で、のケースが抜けてるのかと思い、ググってみると、も平方数に入るとのこと。こういうケアレスミスもなんとかしないといけないなあと。
とりあえず、修正してなんとかAC。37分15秒2ペナで4完でした。
提出コード
https://atcoder.jp/contests/abc324/submissions/46553939
E問題
最初、難しめの文字列アルゴリズムを使うやつかとおもってましたが、よくよく考えると、単純に解ける問題だとわかりました。
文字列がを先頭または末尾から見て、最大何文字を部分文字列として含んでいるかが分かれば、あとは単純な計算で解ける筈。
具体的には、
数列を配列のうち、とをそれぞれ先頭から見て、最大文字を部分文字列として含んでいる文字列の個数とする。
数列を配列のうち、とをそれぞれ末尾から見て、最大文字を部分文字列として含んでいる文字列の個数とする。
連結の先頭にする文字列が、の先頭から文字を部分文字列に含んでいるとすると、連結の末尾にはの末尾から文字以上を部分文字列に含んでいれば良い。
数列でループし、上記の考え方で、答えに足し込んでいく。累積和を使えば、計算量はに収まる。
という感じの実装でACが取れましたとさ。
70分44秒2ペナで5完。とりあえず、今回は下げは無さそうです。
提出コード
https://atcoder.jp/contests/abc324/submissions/46571551
F問題
なんか途中の平均値の大小でダイクストラ法を使って解けないかという感じだったので、実装してみたところ、サンプルまではなんとか通せました。
しかし、提出してみると、TLEとWAを連発してしまい、結局解けずじまい。ここで時間切れになりました。
G問題
問題すら見ておりません。
これまでの実績
先週の大負け分を、少し取り戻しました。このまま再度の入水を狙います。
総括
F問題が解けなかったのは、仕方なしにせよ、凡ミスでの2ペナが痛かったかなあという印象です。
そのうち1個はサンプルを通していれば防げたミスだけに残念な感じがします。C問題までは早めの提出をするためにサンプルのテストは省略していたのですが、ちょっとその戦略は考え直した方がいいかなあという感じです。
ということで、また次回も頑張ります。