AtCoder Beginner Contest 254 参加記

2022/6/4に開催されたAtCoder Beginner Contest 254に参加しました。

atcoder.jp

先週土日のコンテストで連勝し、レートはHighest更新。この流れに乗って今回は水パフォの結果を出し、さらにレートを更新しようという気持ちで今回のコンテストに臨みました。

今回の結果

しかしながら、終わってみれば3完止まり。。しかも3ペナも食らいました。。

ABC254結果
ABC254結果

パフォーマンスは、緑にも届かず。今回レートの方は下がることになりました。

振り返り

A問題でペナを喰らったり、D問題で大幅に時間を浪費するなど、結果は散々でした。

ABC254提出結果
ABC254提出結果

A問題

A - Last Two Digits

受け取った数字Nの下2桁を出力するだけの問題。

これは簡単だと、N100で割った余りを出力⇒余りが1桁の場合を考えておらずWA。。

N100で割った余りを%dフォーマットで出力⇒これも余りが1桁の場合を考えておらずWA。。何を考えてんだろう。。

N100で割った余りを%2dフォーマットで出力⇒やっとAC。

ということで、提出を焦ったが為に、2ペナも食らってしまいましたとさ。幸先の悪いスタートです。

2分25秒2ペナで1完。

提出コード

https://atcoder.jp/contests/abc254/submissions/32203136

B問題

B - Practical Computing

N×Nサイズで配列を作成し、あとは問題文の通りに値を入れて出力するだけのように見える。

ということで、問題文の通りに実装して提出。問題なくACが取れましたとさ。

9分36秒2ペナで2完。少し実装が重かったという印象。

提出コード

https://atcoder.jp/contests/abc254/submissions/32210699

C問題

C - K Swap

なんかCにしては、めっちゃ難しそうな問題。

とりあえず交換できる位置自体は固定されている。よって先頭から見て、K個先の要素が小さい場合は交換するということをやって、最後にソートされているか確認するという解法でやってみる。

が、、一回だけでは全く足りないパターンが考慮されておらずでWA。。

この後、良い解法がなかなか思いつかずで詰んだかと思ったが、よくよく考えると、ソートはK個飛びにできるので、配列自体をK個に分割して、それぞれをソートし、元に戻したときにソートされているかを判別すればよいのではと思いつく。

TLEが心配でしたが、この解法で問題なかったようで、なんとかACを取ることができました。

37分57秒3ペナで3完。

提出コード

https://atcoder.jp/contests/abc254/submissions/32224978

D問題

D - Together Square

苦手な数学系の問題。。

i = jの場合はカウントに含まれるのは当然だが、それ以外のパターンを上手くまとめることができず。

とりあえず、1からN×Nの平方数それぞれについて約数列挙を行い、あり得るi,jを導き出した後i,j両方がN以下ならカウントに含めるというゴリ押しの対策を実装してみるも、サンプルまでしか通らず、提出したらTLE。。

この後も、色々試してみたが、結局解くことはできずで時間切れとなりましたとさ。

E問題

E - Small d and k

一応、Dと同等ぐらいの難易度のようなので問題を確認しましたが、パッと解法が思いつかず。

とりあえず、早々にこの問題からは撤退を決め込むことにしました。

F問題

F - Rectangle GCD

問題すら見れておりません。

G問題

G - Elevators

問題すら見れておりません。

Ex問題

Ex - Multiply or Divide by 2

問題すら見れておりません。

これまでの実績

先週Highest更新したと思ったら、大きな下げを喰らいました。。また1から出直しです。

コンテスト実績
コンテスト実績

総括

今回のD,E問題は、水色パフォ近辺というところだったようで、まだまだこのあたりを安定して解ける実力は無いようです。

最近は、仕事の方が少し忙しく、精進も少し停滞気味ですが、やはり時間を見つけて精進していかないとレートの方も頭打ちになってきますね。負けたことは仕方ないので、また来週に向けてコツコツ頑張っていこうと思います。

ということで、また次回も頑張ります。