摘要:
http://codeforces.com/problemset/problem/115/E题目大意,给你1~n段路,每段路修好需要一定代价,同时给m个区间,如果连续修好li~ri的所有路就可以获得pi的收益,询问最大利润。想了一会,发现除了暴力的dp没有其他办法,但是10^5级别让n^2的dp无能为力,后来看到题目旁边datastruct+dp的提示,想到用线段树来优化dp的方法。k表示当前区间,dp[i]:表示从第i段路修到当前路段全部修好的最大收益。如果某一个比赛区间[Li,Ri]右端点刚好为当前区间,则显然dp[1]~dp[Li] 全部要加上pi;再考虑当前区间移到下一个区间时候,dp 阅读全文