abc017_3
https://atcoder.jp/contests/abc017/tasks/abc017_3
考えたこと
スコアを最大化したいが、区間にフラグが立って、すべてのフラグが立つとNG
Nが8で部分点。この場合2^8通りを探索することができる
N,Mが5000で別の部分点、10万で満点
もしも区間がカバーしない点があれば自明に「全部選択する」が最良
区間がすべてをカバーするケースを考えると、どこか1箇所カバーされない点ができるように穴を開ければ良い
穴を1箇所選べば、それに重なってる区間はすべて外すことが必要だし、それで十分、この時スコアは全部選択した時と比べて「重なってる区間」のスコアの和だけ減る
よってスコアを区間に足し合わせて、最小値を見つける問題
カバーしてない点がある場合は最小値が0になるので場合分けは必要ない
いもす法で線形オーダー
公式解説OK