yukicoder 245 A-E 解説・思考過程
writer/testerのみなさんありがとうございました。
Eまではサクッと解けた気がします。(WAを山のように出してしまった、ひえぇ)
F・Gやばすぎる…
Fの解説が気になる。こんなの解けるんですね。
A No.1033 乱数サイ
個のサイコロを振ると考えればよいんですかね? サンプルを見ながら式変形してたらになってびっくりしました。期待値なのでそれはそうかも。
B No.1034 テスターのふっぴーさん
この問題、コンテスト中じゃなくて普段の精進で出会いたかったですね。
解き方は分かっても実装の前にだいぶ慎重になりました。良問な気がする。
4つの壁までの距離を出しておいて、タマネギの皮を外すみたいに外側から削っておき、壁沿いにがあるような状態に帰着させて解きました。
C No.1035 Color Box
包除原理
「種類以下」のペンキで塗り分ける方法を各について求めて足したり引いたりします。
D No.1036 Make One With GCD 2
連続部分列という問題設定、またある連続部分列が条件を満たしたらそれを左右に延長したものも条件を満たすことから、尺取り法ができそう。
しかし、ある区間でgcd=1として、左端をひとつ右にずらしたらgcdがどうなるかというのはでは計算できない。
セグ木ぺたり(ええ)
これでを1ずつforループで動かしながらを適宜右にずらすと答えが出ます。計算量
gcdの単位元はでしたね(毎回ちょっとだけ不安になる)
追記:sliding window aggregationなるものを使うとlogが落とせる。
E No.1037 exhausted
パッと見て最初に浮かぶのは蟻本P73のExpedition(めっちゃ似てる)なんですが、の処理をどうしたものかとしばらくストールしてしまいました。
各地点での最適な状況はその地点にいるときにはまだわからないけど、について最適化して遷移していけば良さそうなので、DP。実際が入りきります。
地点で残り燃料がのときの最小費用
とすると楽でした。