2019-11-19 Educational DP Contest / DP まとめコンテスト W - Intervals 動的計画法(DP) Segment Tree(セグ木) 問題 提出コード 解法 文字目を"1"にした場合に、で得られる得点の最大値 を考えます。 すると、 が間に含まれているものを除いた区間達について計算した場合の、で得られる得点の最大値に、が間に含まれている区間の得点の総和が、の値になります。 これを上手く計算するには、 を計算する を満たす全てのについて、にを加算する という操作を、が小さい方から順番に繰り返していけば良いです。 このようにすることで、それぞれの区間が重複して加算されるのを防ぐことができます。 答えは、の中で最大のものを計算すればよいです。 感想 区間の重複加算を防ぐ方法を思いつくのに時間がかかりました…セグ木は便利ですね!