传送门1
传送门2
写在前面:暂停OI一周,补文化课
思路:
转移方程
f[i]=max(f[j]+a(sum[i]−sum[j])2+b(sum[i]−sum[j])+c)f[i]=max(f[j]+a(sum[i]-sum[j])^2+b(sum[i]-sum[j])+c)
设x>y且x比y优,则
(f[x]−f[y])/(sum[x]−sum[y])+a∗(sum[x]+sum[y])−b>2∗a∗sum[i](f[x]-f[y])/(sum[x]-sum[y])+a*(sum[x]+sum[y])-b>2*a*sum[i]
注意:无
代码:

#include<bits/stdc++.h>
#define LL long long
#define M 1000002
using namespace std;
int n,a,b,c,x,head=1,tail=1;
int sum[M],q[M];
LL f[M];
int in()
{int f=1,t=0;char ch=getchar();while (ch>'9'||ch<'0'){if (ch=='-') f=-1;ch=getchar();}while (ch>='0'&&ch<='9') t=(t<<3)+(t<<1)+ch-'0',ch=getchar();return f*t;
}
double Get(int x,int y)
{return (double)(f[x]-f[y])/(double)(sum[x]-sum[y])+(LL)a*(sum[x]+sum[y])-b;
}
main()
{n=in();a=in();b=in();c=in();for (int i=1;i<=n;i++) x=in(),sum[i]=sum[i-1]+x;for (int i=1;i<=n;i++){while (head<tail&&Get(q[head+1],q[head])>2*a*sum[i]) head++;LL x=sum[i]-sum[q[head]];f[i]=f[q[head]]+a*x*x+b*x+c;while (head<tail&&Get(i,q[tail])>Get(q[tail],q[tail-1])) tail--;q[++tail]=i;}printf("%lld",f[n]);
}

【BZOJ1911】【codevs1318】特别行动队,斜率优化DP相关推荐

  1. 【bzoj1911】[Apio2010]特别行动队 斜率优化dp

    题目描述 输入 输出 样例输入 4 -1 10 -20 2 2 3 4 样例输出 9 题解 斜率优化dp 设f[i]表示前i个士兵的战斗力之和的最大值. 那么有f[i]=f[j]+a*(sum[i]- ...

  2. 「APIO2010」 特别行动队 - 斜率优化Dp

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

  3. APIO2010 特别行动队 斜率优化DP算法笔记

    做完此题之后 自己应该算是真正理解了斜率优化DP 根据状态转移方程$f[i]=max(f[j]+ax^2+bx+c),x=sum[i]-sum[j]$ 可以变形为 $f[i]=max((a*sum[j ...

  4. [APIO2010]特别行动队——[斜率优化DP]

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

  5. BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]

    1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MB Submit: 4142  Solved: 1964 [Submit][Sta ...

  6. BZOJ 2149 拆迁队 斜率优化DP 主席树

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2149 题目大意: 一个长度为 n n的序列aa,改变其中的某些数使之成为一个单调递增序列, ...

  7. 特别行动队-斜率优化

    APIO2010特别行动队 令S为前缀和,那么n方DP: f[i]=max{f[i],f[j]+a*(S[i]-S[j])*(S[i]-S[j])+b*(S[i]-S[j])+c}; 展开,移项得到: ...

  8. bzoj 1911: [Apio2010]特别行动队 -- 斜率优化

    1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MB Description Input Output Sample Input 4 ...

  9. 特别行动队[斜率优化]

    传送门 首先考虑暴力的DP sum(i--j) 可以用前缀和维护 把式子拆开 ...是一坨常数,这里省略了 我们令 y=f[j]+a*s[j]*s[j]-b*s[j]  ,  x=s[j]  ,  k ...

  10. bzoj2149拆迁队 斜率优化dp+分治

    2149: 拆迁队 Time Limit: 10 Sec  Memory Limit: 259 MB Submit: 397  Solved: 177 [Submit][Status][Discuss ...

最新文章

  1. 【搜索引擎Jediael开发笔记2】使用HttpClient下载网页至本地文件
  2. python编程语言是什么-Python是一种什么样的编程语言?解释?编译?汇编?机械?...
  3. linux存储--文件描述符fd与FILE结构体(二)
  4. java list 替换 多线程_Java多线程处理List数据
  5. html计算一个数组所有元素的和,函数bsxfun,两个数组间元素逐个计算的二值操作...
  6. Retinex图像增强算法
  7. 2008r2 php mysql_Win2008R2IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程_MySQL
  8. 信源编码与信道编码区别(十一)
  9. 微信小程序(1)-简单答题小程序
  10. 计算机win键是哪里,键盘Win键在哪里
  11. 携程2019秋招面经
  12. 2018 ICPC 北京区域赛 I - Palindromes(规律+大数+模拟)
  13. iOS 控制任务执行顺序
  14. IP协议 (通俗易懂),IP协议的主要功能及实现原理,IP地址分类,IP数据包分片,IP数据报格式。
  15. 从“最后一公里”问题谈起
  16. 如何实现水泥窑分散点信号集中控制?
  17. 图片去底色,图片透明化,免费简单快捷 [ 没有比这更好用的了 ]
  18. mysql 整理 是什么意思_MySQL问答整理
  19. ...\WEB-INF\lib\classmate-1.3.4.jar (系统找不到指定的文件。)
  20. CSSCI(中文社会科学引文索引)介绍

热门文章

  1. PyTorch官方教程中文版
  2. 扫描仪 pfu_行业案例:扫描仪高效加持下的艺术工作室
  3. Kotlin学习笔记17 反射Part1
  4. 红橙Darren视频引申 第一次写NDK项目(Android studio 4.1.1)
  5. Android 学习笔记 databinding简单使用:使用databinding在listview加入不同类型的view
  6. Android 内存泄漏之handler
  7. SQL Server向表中插入数据
  8. 【文献学习】矩阵投影
  9. hive double 转decimal_大白话详解大数据hive知识点,老刘真的很用心(3)
  10. EmEditor18.1.2 注册码