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. 求最大价值和. ...
1911: [Apio2010]特别行动队 Description Input Output Sample Input 4 -1 10 -20 2 2 3 4 Sample Output 9 HINT Source 斜率优化DP f[分组末尾]=最优解 f[i] = max{f[j]+A(s[i]- ...
斜率优化 //f[i]=max(f[j-1]+a(sum[i]-sum[j-1])^2+b(sum[i]-sum[j-1])+c) (1<=j<=i) //g[j]>g[k]=>f[j-1]+a(sum[i]-sum[j-1])^2-bsum[j-1])<f[k-1]+a(sum[i]-sum[k- ...
另一个版本的斜率优化。。。这个要好理解一些。 ...
分类:
其他好文 时间:
2016-08-26 22:57:27
阅读次数:
177
http://www.lydsy.com/JudgeOnline/problem.php?id=1911 夏令营里斜率优化的例题,我调了一晚上,真是弱啊。 先推公式吧($sum_i$表示$x_1 \dots x_i$的和): $$①f(i)=f(j)+a(sum_i -sum_j)^2 +b(sum ...
bzoj1911 [Apio2010]特别行动队 题意: n个人,拆成若干个队。设x等于队里每个人战斗力之和,则这个队战斗力为ax2+bx+c(a,b,c已知)。求所有队战斗力总和最大多少。 题解: 方程:f[i]=max{f[j]+(sum[i]-sum[j])2*a+(sum[i]-sum[j] ...
题意:给定一个数列,将其分成若干段,若某段的和为x则这段的价值为a*x*x+b*x+c。求一种分法使得总价值最大 f[i]为到第i个时的最大价值, f[i]=max(f[j]+a*(sum[i]-sum[j])^2+b*(sum[i]-sum[j])+c 若j1<j2且j2更优 f[j1]+a*su ...
分类:
其他好文 时间:
2016-06-02 17:59:09
阅读次数:
190
斜率优化。 大水题。。。 #include #include #include using namespace std; const int maxn = 1000000 + 10; int q[maxn],l,r; long long f[maxn],s[maxn],a,b,c,x; int n,... ...