AtCoder Beginner Contest 336参加記

2024/1/14に開催された、AtCoder Beginner Contest 336に参加しました。

atcoder.jp

先週のABCでは、辛くも勝ちを収めてレートを上げることに成功しました。この勢いで、早々に入水を伺うべく、今回も頑張っていきます。

振り返ってみると、最近5完出来ていない状況のようなので、今回は5完以上を目標にしてみます。

今回の結果

と、意気込んで見たものの、結局4完で終了。E、F問題の難易度が高かったような。。。

ABC336順位表
ABC336順位表

途中のやらかしなどもあり、順位の方は大きく伸びず。今回は負けという結果になりました。

振り返り

単純ミスでWAを繰り返すなど、大きな反省点があった回でした。

ABC336提出結果
ABC336提出結果

A問題

A - Long Loong

所謂、やるだけの問題。実装後、提出して、問題なくAC。

1分31秒で1完です。

提出コード

https://atcoder.jp/contests/abc336/submissions/49278050

B問題

B - CTZ

これも、書かれていることをそのまま実装してAC。3分27秒で2完です。

あとでよくよく考えると、Javaだと、Integer.numberOfTrailingZerosが使えたなあ。。

提出コード

https://atcoder.jp/contests/abc336/submissions/49283166

C問題

C - Even Digits

Nを5進数に変換して、あとは0123402468に変換する感じかと思い実装。

で、これでACかと思いきや、N = 0のケースで出力できてないという単純ミスで、WAという結果に。。。

修正してなんとかAC。9分5秒1ペナで3完です。

提出コード

https://atcoder.jp/contests/abc336/submissions/49289727

D問題

D - Pyramid

  • dpl \lbrack i \rbrack :=左から見た時に、i番目で作成できるピラミッドの頂点の最大の高さ。

  • dpr \lbrack i \rbrack :=右から見た時に、i番目で作成できるピラミッドの頂点の最大の高さ。

この2つを求めると、あとは、左から見た時にi番目で作成できるピラミッド数列の最大サイズが求められるはず。

ということで、方針は決まったが、これが実装がなかなかうまくいかない。

さらにサンプルのテストケースが弱かったこともあり、サンプルが通った実装を出してみても余裕でWAを喰らう始末。。いや、サンプルの所為にするわけではないが。。

そんなこんなで、さらに実装誤りで都合2WAを喰らってから、やっとのことでACを取ることができましたとさ。68分7秒3ペナで4完です。

提出コード

https://atcoder.jp/contests/abc336/submissions/49308830

E問題

E - Digit Sum Divisible

目標も5完達成のために、なんとか通したい問題だったが、問題を読んでもよくわからん。

多分見た目の雰囲気的に桁DPかなというのが見えてきたが、結局桁DPを理解できてないので、解けるわけもなくという感じ。

結局、早々にこの問題は諦め。

F問題

F - Rotation Puzzle

これも、問題に目を通したものの、結局なにもわからず。ここで時間切れになりましたとさ。

G問題

G - 16 Integers

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

これまでの実績

今回ちょい負けで、入水が少し遠くなりました。

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

総括

5完出来なかったことは、知識不足なので、精進すればよいということだが、凡ミスが続いているのは良くない傾向だなあ。。

これも、まだまだ基本的な行動が出来ていない証拠。今年は一旦初心に帰って、典型問題や鉄則本などの履修に努めてみようと思います。

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