摘要: 放一手原题 题解: 第一次写(抄)斜率优化,心里还是有点小激动的。讲一下怎么实现的! 首先我们可以考虑一个朴素的dp:DP[i]表示前i个数字的最少花费,显然我们有一个转移方程 DP[i]=min{DP[j]+M+(sum[i]-sum[j])^2} 但是N^2肯定会超时,我们考虑优化他 假设有k< 阅读全文
posted @ 2018-01-30 21:01 MSPqwq 阅读(159) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #define N 1000005 using namespace std; int q[N],a[N],n,m,l,r=-1; int main() { scanf("%d%d",&n,&m); for (int i=1;i=l) l++; while (a[q[r]]>a[i] && r>=l) r--; ... 阅读全文
posted @ 2018-01-30 20:37 MSPqwq 阅读(136) 评论(0) 推荐(0) 编辑