AtCoder Beginner Contest 197(Sponsored by Panasonic) 参加記

2021/3/27に開催されたAtCoder Beginner Contest 197(Sponsored by Panasonic)に参加しました。

atcoder.jp

ここんところ、順調にHighestを更新している状態が続いていたので、今回もHighest更新を目標にすることにしました。

今回の結果

でで、今回の結果は2完で終了でした。。orz

ABC197結果

ABC197結果

久々の茶パフォ終了で少し冷えました。うーむ。。

振り返り

C以降はまったくできておりません。

ABC197提出結果

ABC197提出結果

A問題

A - Rotate

入力文字の最後を先頭に移動し、出力する問題。以下のような要領でAC。

gist2a5154114867a1aa58bd3ea79d4e07fe

B問題 

B - Visibility

B問題からグリッドの問題が出てくるとは思わず、少し戸惑ったが難易度はそれなりだったのであっさりと解けた。

 

縦方向についてはマス(i,Y)を1から順番に全てチェックし、障害物のないブロックを数えていく。障害物があったブロックがi \lt Xなら、カウンタをリセット、そうでないなら、今まで数えた数を縦方向の見えるマスとする。

 

横方向も同様の要領で計算して、縦方向と横方向の見えるマスの合計から重複して、数えた(X,Y)を1つ引けばOK。この要領でACが取れました。

参考ソース

https://atcoder.jp/contests/abc197/submissions/21299581

C問題

C - ORXOR

問題の制約をみる感じ、全探索でやる感じかと考えたが実装が上手くいかず。

 

当初はDFSっぽいやり方でなんとかできるかと思いましたが、良い実装方法が思い浮かばず。結局やぶれかぶれで、数列上の各数字の各ビットの桁に対し、1となる数字をカウントし、1が1つしかない桁に対して、最小値のビットを立てるというという、なんちゃってエスパー解法を投げてみるが、当たり前のようにWAを喰らいました。

 

んで、コンテスト終了後、解説を見てみるとbit全探索でしたかー、と。うーむ、なんでコンテスト中にこの発想が出てこなかったんだろう。

D問題

D - Opposite

Cがダメなら、ということで挑んだD問題。

 

しかしこれが、結構苦手としている幾何学の問題。。三角関数をもともと使い慣れておらず、解法が思いつかぬまま時間だけが過ぎていきました。

 

そのあとは、CとDを行ったり来たりしましたが、結局どちらも解けずで時間切れ終了です。

E問題

E - Traveler

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

F問題

F - Construct a Palindrome

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

これまでの実績

順調に上昇してきたレートも、ここらで一息ついたという感じのチャートです。

コンテスト実績

コンテスト実績

総括

今回は、苦手な幾何学の要素がある問題が出てしまい、手も足もでない状態となってしまいました。これを機に、図形を扱うような問題の過去問も解くようにしていきたいと思います。

 

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