bzoj1057本质上是求最大子矩阵;

第一问是一个经典的O(n2)dp

第二问就是最大子矩阵,回眸一下当年卡了我很久的问题;

首先穷举显然不行(这不废话吗?);

首先我们预处理每个点可以最大向上延展到哪里;

然后我们一行一行看每个点能以最大延展高度向左右延展到多少

这其中的最大值即answer;

初看处理每行上点左右延展距离为O(n2)

实际上是可以以O(n)搞定的

单调队列?确实可以,但是很烦……

分左延展右延展两种情况考虑

用l[j]表示这行上列为j的点最远可以延伸到哪个点,然后

l[j]:=j;

while (l[j]>0) and (h[j]<=h[l[j]-1]) do l[j]:=l[l[j]-1];

妙哉,问题得解;

由这种思路,我以迅雷不急掩耳之势拍出poj3250,不到20行代码141MS过,不错!

 1 var a,d:array[0..80010] of longint;
 2     p,i,n,m:longint;
 3     s:int64;
 4 begin
 5   readln(n);
 6   for i:=n downto 1 do
 7     readln(a[i]);
 8   a[0]:=2147483647;
 9   d[1]:=1;
10   for i:=2 to n do
11   begin
12     d[i]:=i;
13     while a[i]>a[d[i]-1] do d[i]:=d[d[i]-1];
14     s:=s+i-d[i];
15   end;
16   writeln(s);
17 end.

View Code

转载于:https://www.cnblogs.com/phile/p/4473294.html

bzoj1057,poj3250相关推荐

  1. 遇见OFFER,阿里云最强技术团队现身招聘,“职”为你来

    简历投递入口: https://bss.csdn.net/delivery/resume/ali 在5·15 遇见OFFER大厂梦招聘活动中,近20家企业来到CSDN[遇见OFFER]直播招聘栏目,其 ...

  2. 【10w字】超详细【百分百拿offer】的面试教程,集合5000多家软件测试公司面试题。

    一.引言 1.1 文档目的 [百分百解决在面试中遇到的些问题] 1.2 背景 此文档历经1年的时间,基本概括了深圳与广州,上干家公司的面试问题并结合基本盖了,95%以上的面试问题,文章内容比较多耐心看 ...

  3. 想找工作,这一篇15w字数+的文章帮你解决

    文章目录 前言 一 专业技能 1. 熟悉GoLang语言 1.1 Slice 1.2 Map 1.3 Channel 1.4 Goroutine 1.5 GMP调度 1.6 垃圾回收机制 1.7 其他 ...

  4. 工作中使用到的单词(软件开发)_2022-02-26_备份

    ■原文 工作中使用到的单词(软件开发)_sun0322-CSDN博客 目录 ■常用链接 ■2020/03/15  (最初整理  242个单词) 2020 6/28 整理 2020 6/29 整理 20 ...

  5. Qt5 和 OpenCV4 计算机视觉项目:1~5

    原文:Qt 5 and OpenCV 4 Computer Vision Projects 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 计算机视觉 译文集],采用译后 ...

  6. OpenCV3 和 Qt5 计算机视觉:1~5

    原文:Computer Vision with OpenCV 3 and Qt5 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 计算机视觉 译文集],采用译后编辑(MT ...

  7. BAT机器学习面试1000题系列(第1~305题

    1 请简要介绍下SVM,机器学习 ML模型 易SVM,全称是support vector machine,中文名叫支持向量机.SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同 ...

  8. 软考数据库详细知识点整理(全)

    目录 第一章 计算机系统基本知识 1.1 计算机系统 1.1.1 计算机硬件组成 1.1.2 中央处理单元 1.1.3 数据表示 1.1.4 校验码 1.2 计算机体系结构 1.2.1 体系结构分类 ...

  9. SpringBoot开发实用

    SpringBoot 文档更新日志 版本 更新日期 操作 描述 v1.0 2021/11/14 A 基础篇 v1.0.1 2021/11/30 U 更新基础篇错别字若干,不涉及内容变更 v2.0 20 ...

最新文章

  1. 第二次作业— —结对项目
  2. matlab怎么实现循环,matlab怎么实现直到型循环
  3. 树状选择框测试用例_【转】【测试用例设计】WEB通用测试用例
  4. 忘记密码漏洞案例分析
  5. 重操JS旧业第十一弹:BOM对象
  6. c/c++ 变量作用域
  7. 安卓app测试之Monkey日志分析《转载》
  8. 继承,经典类与新式类的MRO,C3算法,super
  9. 2014-7 Andrew Ng 自动化所报告听后感
  10. (6)数据结构-共享栈
  11. 小程序影藏溢出的gif_动图制作方法,1分钟教会你如何制作gif表情包!
  12. win32com 读取excel
  13. lattice diamond/radiant license申请
  14. 老旧电脑救星,Windows 8.1 原始系统安装
  15. [转载] 七龙珠第一部——第016话 寻找石头的功夫
  16. YOLOv3的批量图片检测以及批量输出(windows下)
  17. 基于AT89C51单片机的超声波传感器测距
  18. 键盘右Crtl键变成了鼠标键效果的解决办法
  19. linux下面安装和配置nginx
  20. 基于无线lora通信实现远程采集输出0~10v,0~20ma模拟量信号以及开关量信号

热门文章

  1. [C++]Linux之Ubuntu下编译C程序出现错误:“ stray ‘\302‘或者‘\240‘ in program”的解决方案
  2. Oracle sql 错误 : ORA-01861: 文字与格式字符串不匹配和日期与字符串互转问题解决
  3. PHP连接不上MySQL解决方案总结
  4. 降价上标(Github风味)?
  5. 是否可以在SQLite数据库中一次插入多行?
  6. 检索每个组中的最后一条记录-MySQL
  7. 文件的属性 计算机知识,计算机基础知识文件的属性(二)
  8. java对象添加字段_99.9%的Java程序员都说不清的问题:JVM中的对象内存布局?
  9. centos5安装mysql 5.6.19 mysql-devel_Centos5.8 安装 MySQL5.6.19
  10. markdown 本地链接_markdown多平台发布及七牛图床使用