ARC115-E LEQ and NEQ (TLEに近い解法)
包除原理を念頭に, 次のようなdpをしまふ.
- 今まで条件に違反した回数の偶奇が で最後に選んだ値が であるような通り数
新しいdp配列をndpとすると, 遷移式は次のようになりまふ.
- ( が現在見てる の値に比べて大きいとき)
- ( がひとつ前の の値に比べて大きく, 重複しないとき)
- ( がひとつ前の の値以下で, 重複するかもしれないとき)
の値の範囲が大きくなりすぎることをいったん無視すると, これは遅延セグ木でin-placeに更新できまふ. 具体的には, ノードにdpの値と区間幅を, 区間に作用させる演算として一次関数を用意すれば良いれふ.
の値が大きくなりすぎる問題れふが, をソート&重複削除すると になるとして, を遅延セグ木のノードに対応させれば良いれふ.
ご覧のようにこの解法は2000msとTLEに近いれふ. しかし, 沙耶花ちゃんは日々を真面目に生き, 少しずつ徳を積んできたためこれで落ちることはありません.