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