懒得写

#include <iostream>
#include <cstdio>
using namespace std;
typedef long long longlivetheelder;
int n, l, ll, rr, que[50005];
longlivetheelder w[50005], dp[50005];
struct Point{
longlivetheelder x, y;
}pt[50005];
longlivetheelder f(longlivetheelder x){
return x*x;
}
double getK(const Point &u, const Point &v){
return (u.y-v.y)/(u.x-v.x);
}
int main(){
cin>>n>>l;
l++;
for(int i=1; i<=n; i++){
scanf("%lld", &w[i]);
w[i] += w[i-1];
while(ll<rr && getK(pt[que[ll]], pt[que[ll+1]])<(w[i]+i)*2) ll++;
dp[i] = dp[que[ll]] + f(i-que[ll]+w[i]-w[que[ll]]-l);
pt[i] = (Point){w[i]+i, dp[i]+2*l*(w[i]+i)+f(w[i]+i)};
while(ll<rr && getK(pt[que[rr]], pt[que[rr-1]])>=getK(pt[que[rr]],pt[i]))
rr--;
que[++rr] = i;
}
cout<<dp[n]<<endl;
return 0;
}

luogu3195 [HNOI2008]玩具装箱TOY的更多相关文章

  1. [luogu3195 HNOI2008] 玩具装箱TOY (斜率优化dp)

    题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1...N的N件玩具, ...

  2. Luogu3195 [HNOI2008]玩具装箱TOY (方程变形 + 斜率优化 )

    题意: 给出一个序列 {a[i]} 把其分成若干个区间,每个区间的价值为 W = (j − i + ∑ak(i<=k<=j) - L)​2 ,求所有分割方案中价值之和的最小值. 细节: 仔 ...

  3. BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9812  Solved: 3978[Submit][St ...

  4. BZOJ 1010: [HNOI2008]玩具装箱toy 斜率优化DP

    1010: [HNOI2008]玩具装箱toy Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再 ...

  5. 【bzoj1010】[HNOI2008]玩具装箱toy

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9281  Solved: 3719[Submit][St ...

  6. 【BZOJ 1010】 [HNOI2008]玩具装箱toy (斜率优化)

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9330  Solved: 3739 Descriptio ...

  7. bzoj 1010 [HNOI2008]玩具装箱toy(DP的斜率优化)

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 7874  Solved: 3047[Submit][St ...

  8. BZOJ 1010 [HNOI2008]玩具装箱toy

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 7184  Solved: 2724[Submit][St ...

  9. bzoj1010[HNOI2008]玩具装箱toy 斜率优化dp

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 11893  Solved: 5061[Submit][S ...

随机推荐

  1. Eclipse升级到ADT-23.0.2 Fail 解决方法

    工具:eclipse3.7.2 升级ADT:从ADT-22.3.0到ADT-23.0.2 错误信息: Cannot complete the install because of a conflict ...

  2. thymeleaf 模板语言简介

    参考网址: https://blog.csdn.net/mlin_123/article/details/51816533 1.1 Thymeleaf 在有网络和无网络的环境下皆可运行,而且完全不需启 ...

  3. 【转】【C++】【MFC】各种数据类型大小

    *原文地址:http://blog.csdn.net/xuexiacm/article/details/8122267 /*运行结果分析: 以上结果已经很明白了,一下补充说明几点: 概念.整型:表示整 ...

  4. sql优化经典例子

    场景 我用的数据库是mysql5.6,下面简单的介绍下场景 课程表 create table Course( c_id int PRIMARY KEY, name varchar(10) ) 数据10 ...

  5. SqlServer查询文件组被占用情况

    在SqlServer中,删除一个文件组 alter database [xxxxx] remove filegroup FGMonthTurnIntroduceByMonth13 有时候会遇到如下报错 ...

  6. HDU 3697 Selecting courses 选课(贪心)

    题意: 一个学生要选课,给出一系列课程的可选时间(按分钟计),在同一时刻只能选一门课程(精确的),每隔5分钟才能选一次课,也就是说,从你第一次开始选课起,每过5分钟,要么选课,要么不选,不能隔6分钟再 ...

  7. File 与 Log #3--动态加入控件,[图片版]访客计数器(用.txt档案来记录)

    File 与 Log #3--动态加入控件,[图片版]访客计数器(用.txt档案来记录) 以前的两篇文章(收录在书本「上集」的第十七章) 请看「ASP.NET专题实务」,松岗出版 File 与 Log ...

  8. xtrabackup 安装

    xtrabackup 安装   yum install -y perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL  perl-Dige ...

  9. selenium模糊匹配控件

    起因:在查找一些控件时,可能控件的一些属性是变化的,那在匹配时需要进行模糊匹配,模糊匹配,使用xpath 定位方式有种: contains(属性名,字符串):使用文本匹配,功能很强大 starts-w ...

  10. python模块;opencv安装

    http://www.lfd.uci.edu/~gohlke/pythonlibs/ 1. 步骤1. 下载Python2.73, 安装, 并配置Python环境变量:".\Program F ...