bzoj1057,poj3250
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相关推荐
- 遇见OFFER,阿里云最强技术团队现身招聘,“职”为你来
简历投递入口: https://bss.csdn.net/delivery/resume/ali 在5·15 遇见OFFER大厂梦招聘活动中,近20家企业来到CSDN[遇见OFFER]直播招聘栏目,其 ...
- 【10w字】超详细【百分百拿offer】的面试教程,集合5000多家软件测试公司面试题。
一.引言 1.1 文档目的 [百分百解决在面试中遇到的些问题] 1.2 背景 此文档历经1年的时间,基本概括了深圳与广州,上干家公司的面试问题并结合基本盖了,95%以上的面试问题,文章内容比较多耐心看 ...
- 想找工作,这一篇15w字数+的文章帮你解决
文章目录 前言 一 专业技能 1. 熟悉GoLang语言 1.1 Slice 1.2 Map 1.3 Channel 1.4 Goroutine 1.5 GMP调度 1.6 垃圾回收机制 1.7 其他 ...
- 工作中使用到的单词(软件开发)_2022-02-26_备份
■原文 工作中使用到的单词(软件开发)_sun0322-CSDN博客 目录 ■常用链接 ■2020/03/15 (最初整理 242个单词) 2020 6/28 整理 2020 6/29 整理 20 ...
- Qt5 和 OpenCV4 计算机视觉项目:1~5
原文:Qt 5 and OpenCV 4 Computer Vision Projects 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 计算机视觉 译文集],采用译后 ...
- OpenCV3 和 Qt5 计算机视觉:1~5
原文:Computer Vision with OpenCV 3 and Qt5 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 计算机视觉 译文集],采用译后编辑(MT ...
- BAT机器学习面试1000题系列(第1~305题
1 请简要介绍下SVM,机器学习 ML模型 易SVM,全称是support vector machine,中文名叫支持向量机.SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同 ...
- 软考数据库详细知识点整理(全)
目录 第一章 计算机系统基本知识 1.1 计算机系统 1.1.1 计算机硬件组成 1.1.2 中央处理单元 1.1.3 数据表示 1.1.4 校验码 1.2 计算机体系结构 1.2.1 体系结构分类 ...
- SpringBoot开发实用
SpringBoot 文档更新日志 版本 更新日期 操作 描述 v1.0 2021/11/14 A 基础篇 v1.0.1 2021/11/30 U 更新基础篇错别字若干,不涉及内容变更 v2.0 20 ...
最新文章
- 第二次作业— —结对项目
- matlab怎么实现循环,matlab怎么实现直到型循环
- 树状选择框测试用例_【转】【测试用例设计】WEB通用测试用例
- 忘记密码漏洞案例分析
- 重操JS旧业第十一弹:BOM对象
- c/c++ 变量作用域
- 安卓app测试之Monkey日志分析《转载》
- 继承,经典类与新式类的MRO,C3算法,super
- 2014-7 Andrew Ng 自动化所报告听后感
- (6)数据结构-共享栈
- 小程序影藏溢出的gif_动图制作方法,1分钟教会你如何制作gif表情包!
- win32com 读取excel
- lattice diamond/radiant license申请
- 老旧电脑救星,Windows 8.1 原始系统安装
- [转载] 七龙珠第一部——第016话 寻找石头的功夫
- YOLOv3的批量图片检测以及批量输出(windows下)
- 基于AT89C51单片机的超声波传感器测距
- 键盘右Crtl键变成了鼠标键效果的解决办法
- linux下面安装和配置nginx
- 基于无线lora通信实现远程采集输出0~10v,0~20ma模拟量信号以及开关量信号
热门文章
- [C++]Linux之Ubuntu下编译C程序出现错误:“ stray ‘\302‘或者‘\240‘ in program”的解决方案
- Oracle sql 错误 : ORA-01861: 文字与格式字符串不匹配和日期与字符串互转问题解决
- PHP连接不上MySQL解决方案总结
- 降价上标(Github风味)?
- 是否可以在SQLite数据库中一次插入多行?
- 检索每个组中的最后一条记录-MySQL
- 文件的属性 计算机知识,计算机基础知识文件的属性(二)
- java对象添加字段_99.9%的Java程序员都说不清的问题:JVM中的对象内存布局?
- centos5安装mysql 5.6.19 mysql-devel_Centos5.8 安装 MySQL5.6.19
- markdown 本地链接_markdown多平台发布及七牛图床使用