
斜率优化dp
yxg_123
这个作者很懒,什么都没留下…
展开
-
BZOJ 1096 [ZJOI2007]仓库建设 斜率优化dp
点击打开链接题意:有个斜坡,有n个仓库,每个仓库里面都有一些物品,物品数目为p,仓库位置为x,修缮仓库需要的费用为c,现在下雨了,之后修缮的仓库才能放东西,别的地方的仓库要运东西过来,但是只能往比它地势低的运,问所有物品得到保障的最小代价。思路一: 参考:http://www.cnblogs.com/lidaxin/p/5118045.html斜率优化+DP。转移方程式:原创 2017-02-22 22:33:49 · 375 阅读 · 0 评论 -
hdu3507 Print Article DP+斜率优化
点击打开链接题意:就是给一个序列,让你分成很多段,每段按照题目的公式算出答案,要所有的答案加起来最小思路一:(参考)http://www.cnblogs.com/lidaxin/p/5116577.html斜率优化。设f[i]表示前i个数分段后的最小值,则转移式为f[i]=min{f[j]+(sum[i]-sum[j])^2+M},1进一步得:f[i]=min{ (原创 2017-02-23 00:37:13 · 287 阅读 · 0 评论 -
hdu3045 Picnic Cows(斜率优化DP)
点击打开链接题意:有n个奶牛分别有对应的兴趣值,现在对奶牛分组,每组成员不少于t, 在每组中所有的成员兴趣值要减少到该组的最小值,问总共最少需要减少的兴趣值是多少。思路: 斜率优化+DP转移方程为:f[i]=min{ f[j]+sum[i]-sum[j]+(i-j)*a[j+1] } T其中sum表示a的前缀和。如果j>k且决策j优于决策k则有f[j]原创 2017-02-23 01:58:22 · 632 阅读 · 0 评论 -
hdu3480 Division(斜率优化+二维DP)
点击打开链接题意:给你一些数,把这些数分成M组,每组的花费是这组的 (max-min)^2。求最小花费思路:斜率优化+二维DPf[i][m] 表示将前i个分作m个集合所得最小消费首先应该排序,假设1,2,3,5,4 第四个数是5,花费一定比是4大。【贪心】f[i][m] = min{f[j][m-1]+(a[i]-a[j+1])*(a[i]-a[j+1])}; 排原创 2017-02-23 12:16:53 · 338 阅读 · 0 评论 -
bzoj 3156 防御准备(斜率优化+DP)
点击打开链接思路:f[i] 表示前i个的最小花费 转移:f[i] = f[j] + (i-j)*(i-j-1)/2 + A[i];需要注意的是过程中数据超范围代码一:#include using namespace std;typedef long long ll;#define mem(a) memset(a,0,sizeof(a))#define mp(x,原创 2017-02-23 13:44:10 · 366 阅读 · 0 评论 -
bzoj 1911 [Apio2010]特别行动队(斜率优化+DP)
点击打开链接思路:斜率优化。设f[i]表示将前i个分组的最优值,则有转移方程式:f[i]=max{ f[j]+a*(s[i]-s[j])^2+b*(s[i]-s[j])+c }经过化简得到:f[i]=max{ (f[j]+a*s[j]^2-b*s[j])-2*a*s[i]*s[j] } + a*s[i]^2+b*s[i]+c单调队列维护上凸包即可。y[j] = (f[j原创 2017-02-23 15:01:45 · 256 阅读 · 0 评论