DP W
There are 200,000 columns of length 200,000 consisting of 0s and 1s, and 200,000 rules of "how many points if there is a 1 in this range", find how many points you get if you make the best column.
What would happen if implemented naively?
Calculate score for each sequence of 2^200000 and max -> yikes!
Instead of calculating for each number sequence, can we use the results from the middle of the sequence to calculate more efficiently?
dp[i] = max when (having decided up to i) the last one is i. The transition is dp[i] = min(dp[j] | j=0~i-1). Then we do a adding a to dp[l~i] for the interval [l,i]. segtree to make it faster (we only need to be able to do interval add and interval min) O((N+M) log N)
I didn't really typify this one (so the explanation is a bit fluffy).
---
This page is auto-translated from /nishio/DP W. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I'm very happy to spread my thought to non-Japanese readers.