摘要:
一道很老的斜率优化dp 斜率优化看上去很难,其实是有技巧的 。 对于dp题目,如果你想优化他,一定要先列出朴素的表达式并观察性质 对于本题我们可以发现,如果要更新dp[i],我们就要从前面找到dp[j]+(s[i]-s[j])^2+m的最小值,其中s是前缀和 我们就可以猜测,一定有很多不可能转移的内 阅读全文
摘要:
本题的做法是斜率优化dp,但是这题杭电经过数据加强后即使算法正确也很难通过 必须要用读入加速,但这个其实在acm中并不要求,所以不建议做,同题可做poj 2018 #include<iostream> #include<algorithm> #include<cstdio> #include<cma 阅读全文
摘要:
首先我们可以推出朴素的dp转移方程 dp[i]=min(dp[j])+max(a[j+1]...a[i]) 但是这个转移方程显然是超时的,所以我们需要对转移方程进行优化 做这种题目的时候,我们需要对方程进行观察,我们发现,我们需要保存两种值,一个是前面已经算过的dp方程,这个很简单 另一个是一段满足 阅读全文