bzoj 4518
思路:
斜率优化;
代码:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define maxn 3005
#define ll long long
ll s[maxn],q[maxn],f[maxn][maxn];
bool getx(int i,int x1,int x2,int x3)
{
return (-s[x2]*s[x2]-f[i-][x2]+s[x1]*s[x1]+f[i-][x1])*
(*s[x2]-*s[x3])>(-s[x3]*s[x3]-f[i-][x3]+s[x2]*s[x2]+
f[i-][x2])*(*s[x1]-*s[x2]);
}
ll getans(int i,int v,int k)
{
return -*s[v]*s[k]+s[k]*s[k]+f[i-][k]+s[v]*s[v];
}
int main()
{
int n,m;scanf("%d%d",&n,&m);
for(int i=;i<=n;i++) scanf("%lld",&s[i]),s[i]+=s[i-];
memset(f,,sizeof(f)),f[][]=;
for(int i=;i<=m;i++)
{
int head=,tail=;
for(int v=;v<=n;v++)
{
while(head+<=tail&&getx(i,q[tail-],q[tail-],q[tail]))
q[tail-]=q[tail],tail--;
while(head<tail&&getans(i,v,q[head])>=getans(i,v,q[head+])) head++;
f[i][v]=getans(i,v,q[head]),q[++tail]=v;
}
}
printf("%lld\n",f[m][n]*m-s[n]*s[n]);
return ;
}
bzoj 4518的更多相关文章
- 动态规划(决策单调优化):BZOJ 4518 [Sdoi2016]征途
4518: [Sdoi2016]征途 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 532 Solved: 337[Submit][Status][ ...
- BZOJ 4518 [Sdoi2016]征途(分治DP)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4518 [题目大意] 给出一个数列,分成m段,求方差最小,答案乘上m的平方. [题解] ...
- BZOJ 4518: [Sdoi2016]征途 [斜率优化DP]
4518: [Sdoi2016]征途 题意:\(n\le 3000\)个数分成m组,一组的和为一个数,求最小方差\(*m^2\) DP方程随便写\(f[i][j]=min\{f[k][j-1]+(s[ ...
- ●BZOJ 4518 [Sdoi2016]征途
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=4518 题解: 斜率优化DP 首先看看最后答案的形式: 设a[i]为第i天走的距离,那么 $A ...
- 【题解】征途 SDOI 2016 BZOJ 4518
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4518 首先推式子,我们用$x_i$表示第$i$段的路程,$sum$表示总路程,根据方差和平均 ...
- 征途 bzoj 4518
征途(1s 256MB)journey [问题描述] Pine开始了从S地到T地的征途. 从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站. Pine计划用m天到达T地.除第m天外,每一天 ...
- BZOJ 4518 征途
斜率优化.又是变量名打错看了老半天. 把方差式子展开一下就好了. #include<iostream> #include<cstdio> #include<cstring ...
- 【BZOJ 4518】【SDOI 2016 Round1 Day2 T3】征途
比较明显的斜率优化DP,省选时因为时间太紧张和斜率DP写得不熟等原因只写了60分的暴力DP,其实当时完全可以对拍来检验标算的正确,但是我当时too naive- 很快打完了,调了将近一晚上QAQ,因为 ...
- bzoj 4518: [Sdoi2016]征途
Description Pine开始了从S地到T地的征途. 从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站. Pine计划用m天到达T地.除第m天外,每一天晚上Pine都必须在休息站过夜 ...
随机推荐
- Linux基础-----------nginx安装和nginx web、nginx反向代理、nfs 服务
作业一:nginx服务1)二进制安装nginx包 yum install epel-release -y 先安装epel-release 再查看yum源中已经安装上了epel相关文件 中间省去了一些安 ...
- Python3 字典 fromkeys()方法
Python3 字典 描述 Python 字典 fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值. 语法 fromkeys()方法语法: ...
- laravel 5.1 单元测试 Cannot modify header information 错误
运行phpunit的时候加上参数 --stderr ./vendor/bin/phpunit --stderr
- 「HTML5」url、href、src区别
一.URL的概念 统一资源定位符(或称统一资源定位器/定位地址.URL地址等,英语:Uniform Resource Locator,常缩写为URL),有时也被俗称为网页地址(网址).如同在网络上的门 ...
- (转) 使用vivado创建工程 2
Build the hardware platform and export to SDK A basic ARM hardware platform is now configured. The c ...
- centos7通过yum安装MySQL
一:去官网查看最新安装包 https://dev.mysql.com/downloads/repo/yum/ 二:下载MySQL源安装包 wget http://dev.mysql.com/get/m ...
- 树形dp的进阶 (一)
①树的重心的性质的运用 ②缩点以后寻找规律 树的直径! ③树形dp上的公式转换 ④和期望有关的树形dp + 一点排列组合的知识 ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ 一:Codeforces Round #364 ...
- easyui 控件获取焦点方式
针对easyui控件前端组织的dom做分析,如下: combo/combobox/combogrid类似结构如下: <input class="easyui-datebox dateb ...
- CSS进阶知识
html { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; } 该属性的作用是 ...
- 用django框架做自己的blog
说明:我的系统环境是ubuntu 14.10版本的,整理这篇博客,主要是自己记性太不好了,老忘东西,教训一下自己.哈哈 参考文章 createing blog 1,part-1-creating-bl ...