题目链接 "bzoj1911: [Apio2010]特别行动队" 题解 首先,状态转移方程 $f_i = max(f_j+A(S_i S_j)^2+B(S_i S_j)+C)$ 在这里总结一下推斜率优化的两种方法吧 直接推呀: 设$jf_k+A(S_i S_k)^2+B(S_i S_k)+C$$ $ ...
http://www.lydsy.com/JudgeOnline/problem.php?id=1911 又是一个显然的dp……好吧我懒得讲了。 s[i]是战斗力前缀和。 我们仍然设k<j<i,化简一下得到f[j]-2asisj+asj^2-bsj>f[k]-2asisk+ask^2 ...
【传送门:BZOJ1911】 简要题意: 有n个人,每个人都有一个战力值,将这n个人分成若干个段(每个段内的人的编号都是连续的),每个段的初始战力值为每个段内的人的战力值的总和 给出常数a,b,c,而每个段的真正战力值为ax2+bx+c(x为这个段的初始战力值),求出分成若干个段得到的所有段的最大真 ...
1911: [Apio2010]特别行动队 Description Input Output Sample Input 4 -1 10 -20 2 2 3 4 Sample Output 9 HINT dp[i]=dp[j]+a*x*x+b*x+cx=sum[i]-sum[j] 证明单调性假设对于i ...
【bzoj1911】[Apio2010]特别行动队commando 2014年5月18日3,1920 Description Input Output Sample Input 4-1 10 -202 2 3 4 Sample Output 9 HINT 题解 我发现似乎掌握了特殊的斜率优化技巧,我 ...
分类:
其他好文 时间:
2017-09-03 22:05:06
阅读次数:
192
欢迎访问~原文出处——博客园-zhouzhendong&AK 去博客园看该题解 题目传送门 题意概括 把一个整数序列划分成任意连续的段,使得划分出来的每一段的价值和最大。 对于某一段,价值的计算公式为 V=ax^2+bx+c,其中 x 为当前段的数值和。 题解 这题是博主大蒟蒻的第一道斜率优化DP题 ...
Description Input Output Sample Input 4 -1 10 -20 2 2 3 4 Sample Output 9 HINT 正解:斜率优化。 很显然的斜率优化。我们可以很容易得到一个转移方程:f[i]=max(f[j]+a(p[i]-p[j])^2+b(p[i]-p ...
题目描述 输入 输出 样例输入 4 -1 10 -20 2 2 3 4 样例输出 9 题解 dp+斜率优化 设f[i]表示前i个士兵的战斗力之和的最大值。 那么有f[i]=f[j]+a*(sum[i]-sum[j])^2+b*(sum[i]-sum[j])+c, 其中sum为前缀和。 展开平方,整理 ...
Description Input Output Sample Input 4 -1 10 -20 2 2 3 4 Sample Output 9 HINT Solution 斜率优化动态规划 首先易得出这样的一个朴素状态转移方程 f[i]=max{f[j]+cal(sum[i]-sum[j])} ...
有n个元素xi,可以将n个元素分成多组,每组的元素编号必须是连续的. 设每组的xi为x,则每组的价值公式为ax^2+bx+c. 求最大价值和. ...