CCF 201312-3 最大的矩形[比较简单]

问题描述

试题编号:201312-3
试题名称:最大的矩形
时间限制:1.0s
内存限制:256.0MB
问题描述:
问题描述
在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。



  请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。
输入格式
第一行包含一个整数n,即矩形的数量(1 ≤ n ≤ 1000)。
  第二行包含n 个整数h1, h2, … , hn,相邻的数之间由空格分隔。(1 ≤ hi ≤ 10000)。hi是第i个矩形的高度。
输出格式
输出一行,包含一个整数,即给定直方图内的最大矩形的面积。
样例输入
6
3 1 6 5 2 3
样例输出
10

题目大意:有n个矩形,宽为1,给出每个点的高度,需要求出最大的矩形的面积。

//猛一看觉得挺难,仔细看看觉得还可以,一次AC~

#include <iostream>
#include <vector>
#include <cstdio>
using namespace std;
int rec[1001][1001];
int main() {int n;cin>>n;int maxs=0;for(int i=0;i<n;i++){cin>>rec[i][i];if(rec[i][i]>maxs)maxs=rec[i][i];}for(int i=0;i<n;i++){int mins=rec[i][i];for(int j=i+1;j<n;j++){rec[i][j]=min(mins,rec[j][j]);mins=rec[i][j];}}int temp=0;for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){//cout<<rec[i][j]<<" ";temp=(j-i+1)*rec[i][j];if(temp>maxs)maxs=temp;}//cout<<'\n';
    }cout<<maxs;return 0;
}

1.有一个rec矩阵,对角线上表示只有当前矩形自己时的面积

2.从第一个依次往后遍历,看能达到的最大高度(是有最低高度限制的)

3.然后再双层循环,注意宽度是j-i+1,而不是j-i,这样即可计算出宽*高=面积。

转载于:https://www.cnblogs.com/BlueBlueSea/p/9612476.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/426892.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙系统太烂,一加终于觉醒!变相承认系统太烂,魅族的吐槽一针见血

刘作虎宣布&#xff0c;一加9系列出厂预装ColorOS 11&#xff0c;终于证实了外界的猜想&#xff0c;一加终于也要放弃自己的系统&#xff0c;这已经证明了之前的氢系统已经在国内市场上彻底失败。想要收服用户&#xff0c;还是需要本土定制化的应用。不过这也显示出一加手机的决…

安卓开发toolbar设置logo_Android之ToolBar的使用

Toolbar是在 Android 5.0 开始推出的一个 Material Design 风格的导航控件 &#xff0c;Google 非常推荐大家使用 Toolbar 来作为Android客户端的导航栏&#xff0c;以此来取代之前的 Actionbar 。与 Actionbar 相比&#xff0c; Toolbar 明显要灵活的多。它不像 Actionbar 一样…

实例23:python

#题目&#xff1a;打印出如下图案&#xff08;菱形&#xff09;: * *** ***** #******* ***** *** * #先把图形分成两部分来看待&#xff0c;前四行一个规律&#xff0c;后三行一个规律&#xff0c;利用双重for循环&#xff0c;第一层控制行&#xff0c;第二层控制列。…

babel 用法及其 .babelrc 的配置详解,想做前端架构,拒绝一知半解...

Babel 官方介绍&#xff1a;将 ECMAScript 2015 及其版本以后的 javascript 代码转为旧版本浏览器或者是环境中向后兼容版本的 javascript 代码。 简而言之&#xff0c;就是把不兼容的 JavaScript 代码转为可兼容&#xff0c;可以执行的 JavaScript 代码。 功能&#xff1a; 语…

android 滚动尺画到控件中间,android 刻度尺控件实现

主要实现刻度尺的效果&#xff0c;能够快速滑动刻度&#xff0c;设置刻度间距&#xff0c;刻度值&#xff0c;滑动回调。简单易用效果图textureView控件的选择总结来说:1.view的绘制在主线程里面&#xff0c;频繁绘制会导致主线程阻塞2.我们知道一个surfaceview是异步绘制的&am…

实例24:python

#题目&#xff1a;有一分数序列&#xff1a;2/1&#xff0c;3/2&#xff0c;5/3&#xff0c;8/5&#xff0c;13/8&#xff0c;21/13…求出这个数列的前20项之和。 #!/usr/bin/python -- coding: UTF-8 -- a 2.0 b 1.0 s 0 for n in range(1,21): s a / b t a a a b b…

适合新手入门的8个python项目_推荐:一个适合于Python新手的入门练手项目

随着人工智能的兴起&#xff0c;国内掀起了一股Python学习热潮&#xff0c;入门级编程语言&#xff0c;大多选择Python&#xff0c;有经验的程序员&#xff0c;也开始学习Python&#xff0c;正所谓是人生苦短&#xff0c;我用Python有个Python入门练手项目&#xff0c;一直没有…

Luogu 4514 上帝造题的七分钟

二维差分树状数组。 定义差分数组$d_{i, j} a_{i, j} a_{i - 1, j - 1} - a_{i, j - 1} - a_{i - 1, j}$&#xff0c;有$a_{i, j} \sum_{x 1}^{i}\sum_{y 1}^{j}d_{i, j}$。 我们要求$sum(n, m) \sum_{i 1}^{n}\sum_{j 1}^{m}a_{i, j} $&#xff0c; 代入$a_{i, j}$&am…

jsp空白页面传html代码,echarts在HTML里测试一般,在jsp页面不显示,而且还把整个页面变成空白...

echarts在HTML里测试正常&#xff0c;在jsp页面不显示&#xff0c;而且还把整个页面变成空白echarts在HTML里测试正常&#xff0c;在jsp页面不显示&#xff0c;而且还把整个页面变成空白&#xff0c;请大神帮忙&#xff0c;急&#xff0c;在线等Created by IntelliJ IDEA.User:…

实例25:python

#题目&#xff1a;求12!3!…20!的和。 #!/usr/bin/python -- coding: UTF-8 -- n 0 s 0 t 1 for n in range(1,21): t * n s t print (‘1! 2! 3! … 20! %d’ % s)

mysql日期格式化季度_mysql按年度、季度、月度、周、日统计查询的sql语句

本文介绍一些mysql中用于查询的sql语句&#xff0c;包括按年度、季度、月度、周、日统计查询等&#xff0c;有需要的朋友&#xff0c;可以参考下。一、年度查询查询 本年度的数据SELECT *FROM blog_articleWHERE year( FROM_UNIXTIME( BlogCreateTime ) ) year( curdate( ))二…

html字体变大自动换行,网页css中实现字符超出宽度自动换行和英语字符不断行的解决方法...

需求&#xff1a;为了使英语字符不断开&#xff0c;我在显示内容的style是text-align:justify; text-justify:inter-ideograph。可是这样子在后台添加内容时&#xff0c;如果不是键盘输入的&#xff0c;而是copy到输入框里的话&#xff0c;这样前台显示出来的帖子内容会把表格撑…

Thread类中的join方法

package charpter06; //类实现接口public class Processor implements Runnable { // 重写接口方法 Override public void run() { for (int i 0; i < 100; i) { System.out.println(Thread.currentThread().getName() "*****************" i); } } } --------…

实例26:python

#题目&#xff1a;利用递归方法求5! #!/usr/bin/python -- coding: UTF-8 -- def fact(j):#定义一个函数 sum 0 if j 0: sum 1 else: sum j * fact(j - 1) return sum print (fact(5))

苹果地图副总裁_Amazon A9副总裁Benoit Dupin加入苹果,负责改善苹果地图搜索服务...

继挖角William Stasior 管理Siri之后&#xff0c;苹果最近又出手了&#xff0c;这一次&#xff0c;Amazon A9 搜索技术团队的副总裁 Benoit Dupin 将加入苹果&#xff0c;并负责改善苹果地图搜索服务。Benoit Dupin 2007年加入Amazon&#xff0c;主要负责搜索架构、用户体验等相…

[SimplePlayer] 2. 在屏幕上显示视频图像

我们这里采用SDL&#xff08;本文所用版本为SDL2.0.5&#xff09;来进行图像输出&#xff0c;SDL在进行图像渲染时一般采用的会是direct3D或者opengl&#xff0c;SDL对它们进行了封装&#xff0c;不过我们这里只讨论SDL的使用&#xff0c;并不会去涉及这些底层实现。尽管如此&a…

vb检测html事件,VB代码VB小程序:捕获 WebBrowser 控件的鼠标事件

49. 捕获 WebBrowser 控件的鼠标事件VB 的网页浏览控件 WebBrowser 没有 MouseDown、MouseMove、MouseUp 等鼠标事件&#xff0c;要在程序中捕获这些事件&#xff0c;必须另想办法。本文使用注入 java 脚本的方法来捕获控件的鼠标事件。另一更为有效的方法&#xff0c;可以捕获…

实例27:python

#题目&#xff1a;利用递归函数调用方式&#xff0c;将所输入的5个字符&#xff0c;以相反顺序打印出来。 #函数赋值两个变量 def output(s,l): if l0: return print (s[l-1]) output(s,l-1) s input(‘Input a string:’) l len(s) output(s,l)

python的describe参数_python pandas DataFrame.describe用法及代码示例

生成描述性统计信息。描述性统计数据包括总结数据集分布的集中趋势&#xff0c;离散度和形状的统计数据&#xff0c;但不包括NaN值。分析数值和对象序列&#xff0c;以及DataFrame混合数据类型的列集。输出将根据提供的内容而有所不同。有关更多详细信息&#xff0c;请参阅以下…

《React Native跨平台移动应用开发》PDF电子书分享

链接: https://pan.baidu.com/s/14r6xZPJ0u1mrZejEuV8RrA 密码: pqan 分享《React Native跨平台移动应用开发》PDF电子书&#xff0c;本书为高清PDF电子书&#xff0c;内容截图如下 转载于:https://www.cnblogs.com/meidongdiluo/p/9625607.html