イバコの生存記録

いまは競プロ(AtCoder)記事がメインです。

49. 【入茶】AtCoder参加記録(AtCoder Beginner Contest 236)

現状です。3回参加でとりあえず茶色に乗りました(5回参加するまでは低めのレートが出るようです)。

 

f:id:ibako_piyo:20220123230734p:plain

f:id:ibako_piyo:20220123230808p:plain

 

 

前回はパフォーマンスが1091でしたが、今回は772でだいぶ落ちてしまいました。
というのも、前回まで4問解けていたのですが、今回は3問しか解けなかったです(悲しい)。

 

ABC完答、DEFGEx未解答となりました。

f:id:ibako_piyo:20220123231117p:plain

 

各問題の感想です。

A

特に言うことは無いです。前回は5分20秒でA問題ACだったので、順調に速くなっています。

B

B問題なので素直に考えたら解けるかなー、と。

残り何枚か保持する配列を用意( O(N))、順番に数を減らす( O(N))、残り枚数が0でないものを探す( O(N))、で全体として  O(N) となり十分と判断しました。

C

sIndex と tIndex を別々に持っておき、sIndex を進めるうちに S[sIndex] == T[tIndex] となれば tIndex を進める、とすれば  O(N) で判定できるなぁ、と思いました。

あとは、大量の文字列を出力する問題なので StringBuilder を使いました。ちょうど昨日やっておいてよかったです…。

ibako-piyo.hatenablog.com

D

上位桁ほど優先して判定する…みたいなことを考えていましたが、上手い処理が思いつきませんでした。全探索も考えたのですが、とても無理な数になったので探索+枝刈りかなぁ…と思いつつ、こちらは計算量の見積もりが出来ないし無理なパターンが出てきそう…と諦めてしまいました。

解説を読むと、工夫すれば全探索で十分な状態数に落とし込めたのですね…。これは取りたかったです。

E

DPっぽい問題だなぁ、と思いつつ上手い方法が思いつきませんでした。解説を読むと、ちょっと自分には無理そうな解法だったので精進します。

F

こっちは頑張れば解けたかもしれない問題でしたが、DEが分からなかったのでFはあんまり読んでいませんでした。

解説を読むと、実はそこまで難しい問題では無かったです。配点を見るに手が出せる可能性があったので、これは諦めが早すぎでしたね…。

G

ちらっと見ましたがすぐ諦めました。

Ex

ちらっと見ましたが(略)

 

 

今回は、もう少し頑張れば解けたであろう問題が2つあり、悔しい結果でした。

反省点としては、

  • C問題までのスピードは割と良い感じに上がってきている
  • まずは素直に全探索・貪欲法を考えよう…
  • 今の自分は500点問題までは手が出せる可能性があるので、ここまではしっかり考えた方が良い

ですね。A~Fの中ではEがちょっと難し目な気がしますが、とりあえずここまではちゃんと理解できるように精進します。