bzoj1911 特别行动队
Description

Input

Output

Sample Input
-1 10 -20
2 2 3 4
Sample Output

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<cmath>
using namespace std;
const int maxn=1e6+10;
long long n,a,b,c,sum[maxn],yy[maxn],zz[maxn],l=1,r=0,dp[maxn]; long long aa,fl;char cc;
long long read() {
aa=0;cc=getchar();fl=1;
while((cc<'0'||cc>'9')&&cc!='-') cc=getchar();
if(cc=='-') fl=-1,cc=getchar();
while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();
return aa*fl;
} bool ok(long long x,long long y,long long z) {
return (yy[y]-yy[x])*(sum[z-1]-sum[y-1])<(yy[z]-yy[y])*(sum[y-1]-sum[x-1]);
} int main() {
n=read();a=read();b=read();c=read();
for(int i=1;i<=n;++i) sum[i]=read(),sum[i]+=sum[i-1];
for(int i=1;i<=n;++i) {
yy[i]=a*sum[i-1]*sum[i-1]-b*sum[i-1]+dp[i-1];
while(l<r&&ok(zz[r-1],zz[r],i)) r--;
zz[++r]=i;
while(l<r&&-2*a*sum[i]*sum[zz[l+1]-1]+yy[zz[l+1]]>-2*a*sum[i]*sum[zz[l]-1]+yy[zz[l]]) l++;
dp[i]=-2*a*sum[i]*sum[zz[l]-1]+yy[zz[l]]+a*sum[i]*sum[i]+b*sum[i]+c;
}
printf("%lld",dp[n]); return 0;
}
bzoj1911 特别行动队的更多相关文章
- BZOJ 1911 特别行动队 (斜率优化)
$ BZOJ~1911~*~ $ 特别行动队: (斜率优化) $ solution: $ 感觉这道题目还是比较常规的,首先我们很容易想到DP,因为题目里面说了选出的人都是连续的,这意味着我们可以从前往 ...
- 【BZOJ1911】【APIO2010】特别行动队(斜率优化,动态规划)
[BZOJ1911][APIO2010]特别行动队 题面 Description 你有一支由 n 名预备役士兵组成的部队,士兵从 1 到 n 编号, 要将他们拆分成若干特别行动队调入战场.出于默契的考 ...
- 【BZOJ-1911】特别行动队 DP + 斜率优化
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 3478 Solved: 1586[Submit][Statu ...
- bzoj1911[Apio2010]特别行动队 斜率优化dp
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 5057 Solved: 2492[Submit][Statu ...
- 【bzoj1911】[Apio2010]特别行动队
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4048 Solved: 1913[Submit][Statu ...
- BZOJ1911 [Apio2010]特别行动队 【斜率优化】
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MB Submit: 5005 Solved: 2455 [Submit][Sta ...
- BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4142 Solved: 1964[Submit][Statu ...
- 【BZOJ】【1911】【APIO2010】特别行动队commando
DP/斜率优化 嗯……第三道斜率优化的题目了. 定义 $s[i]=\sum_{k=1}^{i} x[k] $ 方程:$f[i]=max\{ f[j]+a*(s[i]-s[j])^2+b*(s[i]-s ...
- 【斜率DP】BZOJ 1911:特别行动队
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 3006 Solved: 1360[Submit][Statu ...
随机推荐
- git 创建.gitignore忽略不必要的文件
问题: 创建java项目,使用git提交,有时需要忽略不必要的文件或文件夹,只保留一些基本. 例如maven创建好后,实际开发中我们只需提交:src,.gitignore,pom.xml等文件 但是有 ...
- Spring AOP(二)--注解方式
本文介绍通过注解@AspectJ实现Spring AOP,这里要重点说明一下这种方式实现时所需的包,因为Aspect是第三方提供的,不包含在spring中,所以不能只导入spring-aop的包,为了 ...
- 利用TensorFlow识别手写的数字---基于两层卷积网络
1 为什么使用卷积神经网络 Softmax回归是一个比较简单的模型,预测的准确率在91%左右,而使用卷积神经网络将预测的准确率提高到99%. 2 卷积网络的流程 3 代码展示 # -*- coding ...
- Luogu P3459 [POI2007]MEG-Megalopolis(线段树)
P3459 [POI2007]MEG-Megalopolis 题意 题目描述 Byteotia has been eventually touched by globalisation, and so ...
- 查看linux系统的文件inode号码使用情况
:~$ df -i 文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点 udev % /dev tmpfs % /run /dev/sda2 % / tmpfs % /dev/shm ...
- 超干货!Cassandra Java堆外内存排查经历全记录
背景 最近准备上线cassandra这个产品,同事在做一些小规格ECS(8G)的压测.压测时候比较容易触发OOM Killer,把cassandra进程干掉.问题是8G这个规格我配置的heap(Xmx ...
- 更改电脑用户名(可更改C:\Users\用户名)
参考:http://blog.csdn.net/zhang_jinhe/article/details/40624847 假设我们需要将帐户A改名为B. 首先我们需要用另一个管理员帐户C登陆系统. 1 ...
- JS数组的相关方法
数组创建 JavaScript中创建数组有两种方式,第一种是使用 Array 构造函数: ? 1 2 3 var arr1 = new Array(); //创建一个空数组 var arr2 = ne ...
- tr的display属性出现td的colspan无效问题
http://www.aichengxu.com/other/9262680.htm 今天在做项目的时候发现用javascript控制 tr 的显示隐藏时,当把tr的显示由“display:none” ...
- 正则中使用ASCII码,取值范围
[^\x00-\xFF] : 表示匹配Ascii码大于255的那些字符 基于浏览器的工具: https://regexr.com/