![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
斜率优化
luckyone2014
想思路是苦涩艰辛的,但是打代码是愉快的。
展开
-
hdu 2829 Lawrence 斜率优化
题意:n长度的轨道,截m处。 每段的价值是 这段里 每个数两两相乘的和。问不同的截法最大的价值和。做法:i是轨道长度,j是炸药的量cost[i]是前i个数字 两两相乘的和。dp[i][j]=min{dp[k][j-1]+cost[i]-cost[k]-sum[k]*(sum[i]-sum[k])}可以推倒出来: y(i)=dp[i][]-cost[i]+sum[i]^2x(i)=sum[i]斜率是 sum[i]原创 2015-09-01 21:34:05 · 691 阅读 · 0 评论 -
hdu 3480 Division 斜率优化
题意:把n个数字 分成m个集合。 每个集合的价值是 这个集合中 (max-min)^2。 输出最少的价值做法:如果想价值最小,不妨先排个序。这样 最后的答案肯定在排序后的数组中 是连续的。可以得到数组 dp[i][c]=min{dp[j][c-1]+(num[i]-num[j+1])^2直接dp 复杂度 N*N*M 瞬间爆炸。可以斜率优化来写;推导出 y(j)=dp[j][c-1]+num[j+1]*num[j+1]x(j)=num[j+1]当 k<j<i[y(j)-y原创 2015-09-03 09:02:43 · 653 阅读 · 0 评论