2023/11/25に開催された、トヨタシステムズプログラミングコンテスト2023(AtCoder Beginner Contest 330)に参加しました。
ここのところ、土曜に予定が固まってしまい、2週連続で土曜のABCには参加できてなかったのですが、今週はなんとか9時ギリで帰宅できたので参加することにしました。
なんとか、早いとこ再入水を達成すべく、今回も水パフォ目標で挑みます。
3週ぶりのABCRated参加します。
— devgenjin77 (@devgenjin77) 2023年11月25日
年内に再入水させるため、水パフォ目標で頑張ります✊
トヨタシステムズプログラミングコンテスト2023(AtCoder Beginner Contest 330) - AtCoder https://t.co/09vur0cc3m
今回の結果
なんとか5完確保したものの、時間かかり過ぎ+ペナ喰らい過ぎの影響で、順位は伸びませんでした。
結局、今回は緑パフォで、レートを上げることすらできずという結果で終了です。
5完緑パフォでした😩😩
— devgenjin77 (@devgenjin77) 2023年11月25日
devgenjin77さんのトヨタシステムズプログラミングコンテスト2023(AtCoder Beginner Contest 330)での成績:2306位
パフォーマンス:1064相当
レーティング:1157→1148 (-9) :(#AtCoder #トヨタシステムズプログラミングコンテスト2023(ABC330) https://t.co/qXeZSEruWI
振り返り
BとCで大分手間取ってしまい、ペナを喰らいまくるなど、非常に残念な内容でした。
A問題
これは、見たまんまというか、配列をfor文で回して、以上が何個あるかをカウントするだけ。
やるだけの実装でAC。0分54秒で1完です。
提出コード
https://atcoder.jp/contests/abc330/submissions/47889963
B問題
問題文を一読しても、要領がよくわからん問題でした。
とりあえず、紙に書いて整理してみたり、サンプルから推測するなりした結果、多分ならが答えで、それ以外ならが答えかな?という感じで出してみたらWA。。
次に、サンプルにのケースが無い事に気づき、結局ならが答えで、あとはなら、ならが答えかという感じで出したら、ACが取れましたとさ。
いつものB問題と雰囲気が違いので、やたら苦労しました。21分55秒1ペナで2完。
提出コード
https://atcoder.jp/contests/abc330/submissions/47910320
C問題
ここ最近のC問題に比べると難易度が高目というか、D問題で出てきてもおかしくないレベル感の問題という印象。
とりあえず、をぐらいまで試して、を二分探索で求める感じでいいだろうという感じで提出しましたが、何故か大量のWAが出てしまう。。。
色々いじってみても、WAが取りきれず。残り1時間を切ったぐらいで、とりあえず、この問題をスキップする事にしました。
E問題を終えたところで、解けそうな問題がCぐらいしか無く。。とりあえず、1から見直してみることに。
すると、当初何を勘違いしてたか、の上限が実際はだったところ、と誤解してた事で、2乗を前計算してたり、forの上限を決めてたところで色々おかしくなってた事に気づきました。。
また、挙げ句の果てに、非負整数はを含まないと勘違いしてたこともWAの原因に。。
結局、上記の勘違いを修正して実装したところ、なんとかACが取れましたとさ。
結局、C問題では5ペナも喰らってしまい、この時点では、87分37秒7ペナで5完となりました。
提出コード
https://atcoder.jp/contests/abc330/submissions/47937560
D問題
2つのo
が縦に並ぶラインと、横に並ぶラインの交点にあるo
を基準に考えると、すんなりと解けるかという印象。
各列、各行に存在するo
の数を前計算しておき、あとは、o
であるについて、(行のo
の個数)(列のo
の個数)の値を合計していけば解けるかと。
という事で、実装してみたら問題なくACが取れましたとさ。46分8秒1ペナで3完。
提出コード
https://atcoder.jp/contests/abc330/submissions/47922901
E問題
Dを解いたあと、Cを少しいじったがWAが取れんので、E問題に進んでみる。
考察すると、求めるべきMexの上限はになるので、それ以上の数字については管理をしなくて良さそう。
という事で、TreeSetを使って、以上以下の数字のうち、に存在しない整数を適切に管理できれば、TreeSetの最小値がMexになるはず。
で、一旦実装してみたら、管理する上限を間違えたか、1回WAを喰らったものの、修正してACが取れましたとさ。
この時点で、65分59秒2ペナで4完です。
提出コード
https://atcoder.jp/contests/abc330/submissions/47930405
F問題
ワンチャン、これがACできれば大逆転で再入水まで持ってけるかというところだったが、解けず。。
問題の見た目上、正方形の一辺の長さで二分探索という感じでしたが、実装まで持ってくことはできませんでした。
G問題
問題すら見ておりません。
これまでの実績
さらに入水が遠のく結果になりました。。
総括
今回は、BとCで大分調子を狂わされてしまいました。特にCは自分の不注意でペナを重ねているだけに反省しきりという感じです。
とりあえず、今年もあと一ヶ月と少しとなりましたが、現状1年前のHighestよりレートが下回っている状況。1年経って、進歩も無しというのは少し寂しい感じがするので、なんとか年内に再入水を果たしたいところです。次回のABCは、水パフォ以上取れるように、準備していこうと思います。
ということで、また次回も頑張ります。