2022年11月27日日曜日

トヨタシステムズプログラミングコンテスト2022(AtCoder Beginner Contest 279)

 Dまで四完。


E - Cheating Amidakuji

 取り除かったときの結果と比較して何かする、という方針は考えたのだけど、うまくいかないと思ってやめてしまった。
 一つ取り除いたとき、最終結果とどう変わるか、と考えるのが重要だった。

 ……というか、考えなくても分からないと厳しくって。

 一つ除いた場合とそうでない場合とを実験して比較して……というような手段を取れば確かに分かるのだろうけど、この問題はそこまでするような難しい問題ではないと思う。最終結果との比較でできるのかな? と思ったら、解法のやり方でいけるのかな? と思えて欲しいところ。
 そう思えなかったのは、頭が働いてなかったということなのかね。

F - BOX

 適切にUnion-findを使えば解けるということはコンテスト中から分かっていた。

 が、実装難しくないですか? 何を持てば良いか整理した後で、一時間以上実装にかかっている。
 コンテスト中に通すのは厳しかった気がする。こんなに解かれているのが不思議。

G - At Most 2 Colors

 自力AC。

 「自分と違う色が最も最近現れたのはいつか?」を持てば二乗DPになる。そこから、累積和を使って(セグメント木を使うこともできそう)高速化する。

 Gとしては簡単だし、今回のEやFと比べると簡単な気がする。Eは発想問題だから人によるかもしれないけど、Fよりは明らかに簡単では。

0 件のコメント:

コメントを投稿