2022年3月16日水曜日

AtCoder Beginner Contest 243

 ABCDGで五完でした。

コンテスト後のツイート

E - Edge Deletion

 解説AC。

 制約からワーシャルフロイドをすることは思いつくけど、その後が難しい。
 解説の条件で良いことを思い付くのも簡単ではないし、証明も容易ではない。
 ただ、コンテスト中全く考えなかったか? と聞かれると、頭を掠めた気はするので、試すことはできたかもしれない。

F - Lottery

 解説ACしたが、解説を見てもしばらく分からなかった。

 N種類のどれが既に手に入ったか? を持ってDPしたくなるが、それだと間に合わない。「くじを一回引く」ごとに更新していくようなDPではダメ。これに捉われていると解説を読んでも全く分からなくなってしまう。

 発想を転換して、K個のマスに1~Nの数字を埋める、と考える。
 「各商品について考えて、その商品は何回目のくじで当たったか?」でDPテーブルを更新していく。これだと、「残っているマスx個のうちy個にi番目の商品が当選した」のなら、(x, y)という二項係数を掛けることで更新できる。

 詰まったら発想を転換しよう、という気持ちでいれば難しくないはずなのだが。

0 件のコメント:

コメントを投稿