【题目链接】

点击打开链接

【算法】

这题有一个性质 : 位于顶层的干草堆可以满足宽度最小且高度最高

根据这个性质,用单调队列优化DP,即可

【代码】

#include<bits/stdc++.h>
using namespace std;
#define MAXN 100010int i,n,head,tail;
int a[MAXN],sum[MAXN],q[MAXN],f[MAXN],h[MAXN];int main()
{scanf("%d",&n);for (i = 1; i <= n; i++) {scanf("%d",&a[i]);sum[i] = sum[i-1] + a[i];}q[1] = n + 1;head = tail = 1;for (i = n; i >= 1; i--){while (head < tail && sum[q[head+1]-1] - f[q[head+1]] >= sum[i-1]) head++;f[i] = sum[q[head]-1] - sum[i-1];h[i] = h[q[head]] + 1;while (head <= tail && sum[q[tail]-1] - f[q[tail]] <= sum[i-1] - f[i]) tail--;q[++tail] = i;                                }printf("%d\n",h[1]);return 0;}

转载于:https://www.cnblogs.com/evenbao/p/9196338.html

【BZOJ 1233】 干草堆相关推荐

  1. BZOJ 1233 干草堆 (单调队列优化DP)

    \(BZOJ~1233~~\)干草堆: (题目特殊性质) \(solution:\) 很妙的一道题目,开始看了一眼觉得是个傻逼贪心,从后往前当前层能多短就多短,尽量节省花费.但是这是DP专题,怎么会有 ...

  2. bzoj 1233 干草堆tower 优先队列优化dp

    https://www.lydsy.com/JudgeOnline/problem.php?id=1233 描述: 奶牛们讨厌黑暗. 为了调整牛棚顶的电灯的亮度,Bessie必须建一座干草堆使得她能够 ...

  3. [BZOJ1233][Usaco2009Open]干草堆tower(单调队列优化)

    传送门 题意搞skr人-,其实就是堆方块: 有n(n<=100000)个干草,每堆有个宽度,现在要且分成若干段,把每一段的干草按顺序堆起来形成一个多层的干草堆(所以下标越小的干草堆放在越下面)且 ...

  4. bzoj-1233 [Usaco2009Open]干草堆tower

    1233: [Usaco2009Open]干草堆tower** 题目链接 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1030 Solved: 49 ...

  5. 2041. 干草堆(前缀和差分)

    2041. 干草堆 题目 提交记录 讨论 题解 视频讲解 贝茜对她最近在农场周围造成的一切恶作剧感到抱歉,她同意帮助农夫约翰把一批新到的干草捆堆起来. 开始时,共有 NN 个空干草堆,编号 1∼N1∼ ...

  6. AcWing每日一题2041. 干草堆

    AcWing每日一题2041. 干草堆 题目描述 贝茜对她最近在农场周围造成的一切恶作剧感到抱歉,她同意帮助农夫约翰把一批新到的干草捆堆起来. 开始时,共有 N 个空干草堆,编号 1∼N. 约翰给贝茜 ...

  7. acwing 2041.干草堆

    2014. 干草堆 题目 贝茜对她最近在农场周围造成的一切恶作剧感到抱歉,她同意帮助农夫约翰把一批新到的干草捆堆起来. 开始时,共有 N 个空干草堆,编号 1∼N. 约翰给贝茜下达了 K 个指令,每条 ...

  8. Acwing2041. 干草堆

    题目:干草堆 贝茜对她最近在农场周围造成的一切恶作剧感到抱歉,她同意帮助农夫约翰把一批新到的干草捆堆起来. 开始时,共有 N 个空干草堆,编号 1∼N. 约翰给贝茜下达了 K 个指令,每条指令的格式为 ...

  9. 干草堆(寒假每日一题 2)

    贝茜对她最近在农场周围造成的一切恶作剧感到抱歉,她同意帮助农夫约翰把一批新到的干草捆堆起来. 开始时,共有 NNN 个空干草堆,编号 111 ~ NNN. 约翰给贝茜下达了 KKK 个指令,每条指令的 ...

最新文章

  1. Python学习小结---粗略列表解析
  2. DL之DeepLabv1:DeepLabv1算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  3. click F5 refresh button on detail page - how to get the usable OData model
  4. 【LeetCode笔记】309. 最佳买卖股票时机含冷冻期(Java、动态规划)
  5. 股东痛斥联想管理层:都是帅哥 但业绩差
  6. Kaggle新手入门之路(完结)
  7. 用递归将嵌套的JSON对象遍历出来,转为二维数组 或一维数组
  8. readelf 和 objdump 例子详解及区别 (ELF文件说明)
  9. 基于FPGA的1080P 60Hz BT1120接口调试过程记录
  10. TCP 的 keeplive保活机制
  11. C语言联合体基本内容
  12. 唯物主义观点有哪些_唯物主义的观点及方法论有哪些?
  13. 计算机考证一级一般多少钱
  14. MySQL查询优化利刃-EXPLAIN
  15. Java项目:SSM汽车租车管理系统
  16. noip 2018游记
  17. 小波分析:db小波的分解与重构
  18. css中设置交叉轴内容为拉伸,CSS-弹性布局2-交叉轴
  19. 推荐一款基于Vue的开源智慧物业解决方案项目源码
  20. 漂亮的后台模版|50个漂亮的后台管理界面模板

热门文章

  1. python 对图片进行颜色转换
  2. python练习:简单火柴人游戏
  3. 前后台处理得到 前台图片 draw.io/ mxgraph
  4. VSCode 返回上一个光标 (上一个浏览位置)
  5. R语言绘制棒棒糖图(火柴杆图)
  6. 【整理】Android-Recovery Mode(recover模式详解)
  7. 【周赛总结】第196场周赛——全一子矩阵,交换k次的最小整数
  8. 淘宝/天猫平台API 接口及API文档
  9. 扫描文件存电子版方法
  10. CCS报错 creating output section XXXXXXXXX without SECTIONS specification 解决方法