题目名称 2129. [APIO2010]特别行动队
输入输出 special.in/out
难度等级 ★★★
时间限制 4000 ms (4 s)
内存限制 64 MiB
测试数据 10
题目来源 Gravatarmikumikumi 于2016-02-25加入
开放分组 全部用户
提交状态
分类标签
斜率优化 动态规划
分享题解
通过:77, 提交:166, 通过率:46.39%
GravatarHale 100 0.263 s 44.18 MiB C++
Gravatarsdzwyq 100 0.336 s 19.37 MiB C++
Gravatarsdzwyq 100 0.405 s 19.37 MiB C++
Gravatar蒟蒻 100 0.444 s 32.73 MiB C++
GravatarHale 100 0.479 s 44.18 MiB C++
Gravatar6娃 100 0.481 s 23.20 MiB C++
Gravatar┭┮﹏┭┮ 100 0.482 s 12.40 MiB C++
GravatarCSU_Turkey 100 0.499 s 19.37 MiB C++
GravatarYPZ_979 100 0.499 s 19.39 MiB C++
GravatarYPZ_979 100 0.502 s 19.37 MiB C++
关于 特别行动队 的近10条评论(全部评论)
测试评论功能
Gravatar孙西越
2019-08-10 20:04 7楼
不知道0.336s rk1可以坐多久?
Gravatarsdzwyq
2018-08-03 21:29 6楼
数据太水
推式子少加了一个系数居然还有80分。。。。。QAQ
GravatarRyzen
2018-01-02 21:36 5楼
GravatarHzoi_Ivan
2017-06-06 17:44 4楼
Gravatar‎MistyEye
2017-03-26 21:18 3楼
long long 和 double 转换来转换去简(wo)直(tai)混(cai)乱(le)
Gravatar沉迷学习的假的Keller
2016-11-10 15:58 2楼
nlog^2做法诞生啦!%%%stdafx@3493
Gravatar葳棠殇
2016-04-21 09:22 1楼

2129. [APIO2010]特别行动队

★★★   输入文件:special.in   输出文件:special.out   简单对比
时间限制:4 s   内存限制:64 MiB

【题目描述】

你有一支由 $n$ 名预备役士兵组成的部队,士兵从$1$到$n$编号,要将他们拆分成若干特别行动队调入战场。出于默契的考虑,同一支特别行动队中队员的编号应该连续,即为形如($i, i + 1, …, i + k$)的序列。

编号为 $i$ 的士兵的初始战斗力为 $x_i$ ,一支特别行动队的初始战斗力 $x$ 为队内士兵初始战斗力之和,即 $x = x_i + x_{i+1} + … + x_{i+k}$。

通过长期的观察,你总结出一支特别行动队的初始战斗力 x将按如下经验公式修正为$x'$:$x' = ax^2 + bx + c$,其中 $a, b, c$是已知的系数($a < 0$)。

作为部队统帅,现在你要为这支部队进行编队,使得所有特别行动队修正后战斗力之和最大。试求出这个最大和。

例如, 你有$4$名士兵, $x_1 = 2, x_2 = 2, x_3 = 3, x_4 = 4$。经验公式中的参数为 $a = –1, b = 10, c = –20$。此时,最佳方案是将士兵组成 $3$ 个特别行动队:第一队包含士兵$1$和士兵$2$,第二队包含士兵$3$,第三队包含士兵 $4$。特别行动队的初始战斗力分别为$4, 3, 4$,修正后的战斗力分别为 $4$, $1$, $4$。修正后的战斗力和为 $9$,没有其它方案能使修正后的战斗力和更大。

【输入格式】

输入由三行组成。

第一行包含一个整数 $n$,表示士兵的总数。

第二行包含三个整数 $a,  b,  c,$经验公式中各项的系数。

第三行包含 $n$ 个用空格分隔的整数 $x_1, x_2, …, x_n$,分别表示编号为$1, 2, …, n$的士兵的初始战斗力。

【输出格式】

输出一个整数,表示所有特别行动队修正后战斗力之和的最大值。

【样例输入】

4
-1 10 -20
2 2 3 4

【样例输出】

9

【提示】

$20$%的数据中,$n ≤ 1000$;

$50$%的数据中,$n ≤ 10,000$;

$100$%的数据中,$1≤n≤1,000,000,–5≤a≤–1,|b|≤10,000,000,|c|≤10,000,000,1≤x_i≤ 100$。