ZONeエナジー プログラミングコンテスト “HELLO SPACE” 参加記

2021/5/1に開催されたZONeエナジー プログラミングコンテスト “HELLO SPACE”に参加しました。

atcoder.jp

最近も仕事が忙しくて正直あまり精進できておりませんが、なんとかレートが上がるようにはという気持ちで臨みました。

今回の結果

今回の結果は、ABDの3完で終了となりました。しかもBで大分もたついています。

ZONE2021結果

ZONE2021結果

で、パフォーマンスとしては、緑の下の方。結局レートはマイナスとなりましたとさ。

振り返り

久々にAでペナを喰らってしまいました。

ZONE2021提出結果

ZONE2021提出結果

A問題

A - UFO Invasion

 文字列Sの中に、"ZONe"が何個あるかを答える問題。

「連続する部分文字列として」というくだりを読み間違えてしまい、

”ZONeZONeZONe”が含まれていれば3、”ZONeZONe”が含まれれば2というような判定の仕方で実装してしまう。もちろんこれはWA。。

小ミスを恥じながら、愚直に実装してAC。

B問題

B - Sign of Friendship

大分苦手な図形問題。一読してどうやって解けば良いのかよくわからんかった。

しかし、とりあえずサンプルを検証してみるとUFOと壁それぞれの距離と高さを比率で計算して、必要な高さを求めればいいんじゃないかということに気づく。

壁が複数ある場合は、必要な高さの最大値を答えにすれば大丈夫。ということでサンプルを検証したら結果的に合っていたので、そのまま提出したらACが取れました。

C問題

C - MAD TEAM

 一読して、解法が全くよくわからず。検討内容としては、候補メンバのうち、全てのステータスについて勝るメンバがいる場合、劣る方を候補から除外することで計算量を減らせないかと考えたが、実装が追いつかず。

結局Dの方が簡単そうだということで、Cは諦めました。

D問題

D - Message from Aliens

ちょっと前にやった問題で、文字列を反転させるクエリは状態をフラグで管理し、最後に反転するか判定するという内容のものがあったので、その方針で実装をしてみる。

で、あとは文字の連続を消すというところの実装をして提出したところ、TLE。。

ならばということで、文字を追加するところで前の文字が同じなら、相殺するという処理を入れたらバグを仕込んでしまい、1WA。結構ボロボロの内容ながら、2ペナでなんとかACがとれましたとさ。

コンテスト後に解説をみると、、あー両端キューを使えばいいという問題でしたかと。

E問題

E - Sneaking

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

F問題

F - Encounter and Farewell

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

これまでの実績

今回も微マイナス。なんとも微妙な結果が続いています。

コンテスト実績

コンテスト実績

総括

今回も問題の読み違えなどで、食らわなくていいペナを喰らうなど、あまりいままでの反省が生かされていない状況でした。うーむ、全く進歩がない。。

とりあえず今週は連休。コロナの状況もあり、ほとんど家に引きこもる生活になりそうなんで、久々に時間をとって精進に勤しみたいと思います。

また、次回も頑張ります。