题解:

斜率优化dp

f[i]=f[j]+(i-j+sum[i]-sum[j]-L)^2

然后斜率优化

代码:

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const int N=;
int n,L,l,r,x,q[N];
ll s[N],f[N],C;
double slop(int j,int k)
{
return (f[k]-f[j]+(s[k]+C)*(s[k]+C)-(s[j]+C)*(s[j]+C))/(2.0*(s[k]-s[j]));
}
int main()
{
scanf("%d%d",&n,&L);C=L+;
for (int i=;i<=n;i++)scanf("%d",&x),s[i]=s[i-]+x+;
l=;r=;q[++r]=;
for (int i=;i<=n;i++)
{
while (l<r&&slop(q[l],q[l+])<=s[i])l++;
int t=q[l];
f[i]=f[t]+(s[i]-s[t]-C)*(s[i]-s[t]-C);
while (l<r&&slop(q[r],i)<slop(q[r-],q[r]))r--;
q[++r]=i;
}
printf("%lld\n",f[n]);
return ;
}

bzoj1010的更多相关文章

  1. 【bzoj1010】 HNOI2008—玩具装箱toy

    http://www.lydsy.com/JudgeOnline/problem.php?id=1010 (题目链接) 题意 给定N个物品,可以连续的划分为若干个组,每个组的代价是(物品数-1+每个物 ...

  2. 【BZOJ1010】【HNOI2008】玩具装箱(斜率优化,动态规划)

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

  3. BZOJ1010 [HNOI2008]玩具装箱toy 动态规划 斜率优化

    原文链接http://www.cnblogs.com/zhouzhendong/p/8687797.html 题目传送门 - BZOJ1010 题意 一个数列$C$,然后把这个数列划分成若干段. 对于 ...

  4. [BZOJ1010][HNOI2008]玩具装箱toy 解题报告

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

  5. 洛谷P3195||bzoj1010 [HNOI2008]玩具装箱TOY

    洛谷P3195 bzoj1010 设s数组为C的前缀和 首先$ans_i=min_{j<i}\{ans_j+(i-j-1+s_i-s_j-L)^2\}$ (斜率优化dp)参考(复读)https: ...

  6. BZOJ1010玩具裝箱Toy

    @[斜率優化] Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压 缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中. P ...

  7. [bzoj1010][HNOI2008]玩具装箱toy_斜率优化dp

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

  8. [bzoj1010][HNOI2008]玩具装箱

    Description 有个物品,每个物品长度为,现在要把这个物品划分成若干组,每组中的物品编号是连续的,规定每组的长度,费用为,求最小费用. Input 第一行输入两个整数和,接下来行输入. Out ...

  9. 【BZOJ-1010】玩具装箱toy DP + 斜率优化

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

  10. BZOJ1010 [HNOI2008]玩具装箱toy

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

随机推荐

  1. Spring Cloud 入门教程(四): 分布式环境下自动发现配置服务

    前一章, 我们的Hello world应用服务,通过配置服务器Config Server获取到了我们配置的hello信息“hello world”. 但自己的配置文件中必须配置config serve ...

  2. Python Scrapy 爬虫框架实例(一)

    之前有介绍 scrapy 的相关知识,但是没有介绍相关实例,在这里做个小例,供大家参考学习. 注:后续不强调python 版本,默认即为python3.x. 爬取目标 这里简单找一个图片网站,获取图片 ...

  3. python中的break\return\pass\continue用法

    continue: def func(): for i in range(1,11): if i % 2 == 0: continue # 作用是当符合上面的if判语句后,就直接跳过之后的语句,也就是 ...

  4. [Spring] 关联类和bean | autowire=byName|byType

    ref:https://www.tutorialspoint.com/spring/spring_autowiring_byname.htm project:Working Set: Spring&g ...

  5. English trip V1 - B 19. Life of Confucius 孔子的生活 Teacher:Patrick Key:

    In this lesson you will learn to describe a daily routine. (日常生活) 课上内容(Lesson) 词汇(Key Word ) contrac ...

  6. CSS3实现烟花特效 --web前端

    烟花特效,比较简单,直接贴代码了…… <!DOCTYPE html><html lang="en"><head> <meta charse ...

  7. 表结构中updated_time设计为ON UPDATE CURRENT_TIMESTAMP时,使用过程的一个坑

    一.mysql表结构中存在如下设计时 表结构中updated_time设计为ON UPDATE CURRENT_TIMESTAMP时,如下 `updated_time` datetime NOT NU ...

  8. CF1129C Morse Code

    pro: 维护一个01字符串,支持在结尾动态加字符. 每一个长度<=4的01串可以对应一个字母(有几个特例除外) 每次操作后询问,这个字符串的所有子串一共可以对应出多少种本质不同的字符串. so ...

  9. Spring Framework启动详解

    之前一直对Spring启动的过程很迷糊,所以这次国庆梳理一下. Spring启动一言以蔽之:创建一个根应用上下文.(因为其他的所有的应用上下文都可以通过各种方式继承它) (一)了解应用上下文 Spri ...

  10. Django之转发和重定向

    https://blog.csdn.net/gscsd_t/article/details/79389167 转发和重定向: 转发:一次请求和响应,请求的地址没有发生变化,如果此时刷新页面,就会出现重 ...