https://www.luogu.org/problem/show?pid=3628 特别行动队

可以说是斜率优化dp的模板题,50分的方程很容易写出,先推导函数然后用单调队列维护上凸壳。

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 1000005;
int q[2*N], a, b, c; LL f[N], s[N];
double cal (int x, int y) {LL sdt = (LL)s[y]*s[y]-s[x]*s[x]; LL dt = (LL)s[y]-s[x];LL dty = (LL)f[y]-f[x]+a*sdt-b*dt; LL dtx = (LL)2*a*dt;return 1.0*dty/dtx;
}
int main () {int n, x, l = 0, r = 0;scanf ("%d%d%d%d", &n, &a, &b, &c);for (int i = 1; i <= n; ++ i) {scanf ("%d", &x); s[i] = s[i-1]+x;}for (int i = 1; i <= n; ++ i) {while (l<r && cal (q[l], q[l+1])<s[i]) ++l;LL dt = (LL)s[i]-s[q[l]]; LL dts = (LL)dt*dt;f[i] = (LL)f[q[l]]+a*dts+b*dt+c;while (l<r && cal (q[r-1], q[r])>cal (q[r], i)) --r;q[++r] = i;} printf ("%lld\n", f[n]);return 0;
}

APIO2010 特别行动队相关推荐

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

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

  2. bzoj 1911: [Apio2010]特别行动队 2011-12-26

    1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MB Submit: 892  Solved: 359 [Submit][Statu ...

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

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

  4. 1911: [Apio2010]特别行动队

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

  5. [BZOJ] 1911 [Apio2010]特别行动队

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

  6. [APIO2010]特别行动队

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

  7. [APIO2010] 特别行动队

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

  8. 【斜率优化】[APIO2010]特别行动队

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

  9. 洛谷 P3628 [APIO2010]特别行动队

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

最新文章

  1. java中的类加载器有,Java自定义的类加载器,java自定义加载,在java中类加载器有以...
  2. Forrester:建立企业数据库安全计划
  3. Python第三方库的安装及路径查看总结
  4. rk3128屏幕占空比参数设置_瑞芯微RK3128芯片怎么样 性能全面解读
  5. Coolite ComboBox绑定方式
  6. HoloLens 2开发:Pcx 渲染点云单眼显示问题
  7. 大巴山计算机教育中心那所学校,大巴山计算机教育中心
  8. 搭载Apple芯片的Mac如何使用macOS恢复?
  9. win下装django
  10. bzoj4987 Tree 分类讨论+树形背包
  11. 历数OpenMobile开发的一些坑
  12. 不定宽高,实现盒子左右垂直居中
  13. 手机端上传照片实现 压缩、拖放、缩放、裁剪、合成拼图等功能
  14. 什么是SEO优化-SEO优化工具-SEO优化软件
  15. Android连接WiFi再探索
  16. 「算法与数据结构」从入门到进阶吐血整理推荐书单
  17. linux上php读取和创建word文档
  18. snort安装--daq,dnet---ERROR! dnet header not found, go get it from...等错误解决方案
  19. 1727: Dungeon Master
  20. Dism磁盘清理工具(文件大小2M)

热门文章

  1. 鸿蒙30支持哪些手机,鸿蒙2.0支持哪些手机-鸿蒙2.0首批升级名单
  2. phantomjs 抓取html,phantomjs抓取完整网页
  3. [js高手之路] dom常用API【appendChild,insertBefore,removeChild,replaceChild,cloneNode】详解与应用...
  4. 小职员年终领悟:职场要受宠 做事需揣摩老板心
  5. 将Mysql数据库脚本批量导入数据库
  6. Android Vibrator 框架总结
  7. 深度长文|详解现象级ChatGPT发展历程、原理、技术架构详解和产业未来
  8. verilog 中文件输入/输出任务(转)(注:在modelsim里面仿真)
  9. c语言学生成绩统计课设流程图,C语言课程设计————写下流程图! 谢谢
  10. 读取EXCEL。POI的一个死坑。。文件的流不能close以及删除