c语言火车购票csp真题,CCF CSP 201312-3 最大的矩形

CCF CSP 201312-3 最大的矩形

问题描述

在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。

67f91356015d8fbd8d441ed8287830a0.png

请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。

12565cf9936b8beba92ae6a2129d1332.png

输入格式

第一行包含一个整数n,即矩形的数量(1 ≤ n ≤ 1000)。

第二行包含n 个整数h1, h2, … , hn,相邻的数之间由空格分隔。(1 ≤ hi ≤ 10000)。hi是第i个矩形的高度。

输出格式

输出一行,包含一个整数,即给定直方图内的最大矩形的面积。

样例输入

6

3 1 6 5 2 3

样例输出

10

解析

这里一道很经典的题目,许多网站上都有这道题目。题目很容易找到一个O(N2)的解,但是还存在一个更优的O(N)的解。

首先明确几个事实:最大矩形一定以N个矩阵之中的一个为高度。

因此问题可转换成以第i个矩阵为高度的最大面积。

代码

C++

#include "iostream"

#include "stack"

#include "vector"

#include "algorithm"

using namespace std;

int getMaxArea(vector &hist)

{

stack s;

int max_area = ;

int i = ;

int tp, area_with_top;

while(i < hist.size())

{

if(s.empty() || hist[s.top()] <= hist[i])

s.push(i++);

else

{

tp = s.top();

s.pop();

area_with_top = hist[tp] * (s.empty() ? i : i-s.top()-);

max_area = max(max_area, area_with_top);

}

}

while(!s.empty())

{

tp = s.top();

s.pop();

area_with_top = hist[tp] * (s.empty() ? i : i-s.top()-);

max_area = max(max_area, area_with_top);

}

return max_area;

}

int main()

{

int N;

vector vec;

cin >> N;

for(int i=; i

{

int val;

cin >> val;

vec.push_back(val);

}

cout << getMaxArea(vec);

}

CCF CSP 201409-2 画图

CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201409-2 画图 问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y ...

CCF CSP 201403-2 窗口

CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201403-2 窗口 问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标 ...

CCF CSP 认证

参加第八次CCF CSP认证记录 代码还不知道对不对,过两天出成绩. 成绩出来了,310分. 100+100+100+10+0: 考试13:27开始,17:30结束,提交第4题后不再答题,只是检查前四 ...

CCF CSP 201609-2 火车购票

题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...

CCF CSP 201703-3 Markdown

CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201703-3 Markdown 问题描述 Markdown 是一种很流行的轻量级标记语言(l ...

CCF CSP 201703

CCF CSP 2017·03 做了一段时间的CCF CSP试题,个人感觉是这样分布的 A.B题基本纯暴力可满分 B题留心数据范围 C题是个大模拟,留心即可 D题更倾向于图论?(个人做到的D题基本都是 ...

CCF CSP 201609-3 炉石传说

CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201609-3 炉石传说 问题描述 (Hearthston ...

CCF CSP 201403-3 命令行选项

CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201403-3 命令行选项 问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些 ...

CCF CSP 201709-4 通信网络

CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-4 通信网络 问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M ...

随机推荐

ArcGIS Engine中加载数据

ArcGIS Engine中加载数据 http://blog.csdn.net/gisstar/article/details/4206822   分类: AE开发积累2009-05-21 16:49 ...

ord函数-php

摘录自http://php.net/manual/zh/function.ord.php (PHP 4, PHP 5, PHP 7) ord — 返回字符的 ASCII 码值 说明 int ord ( ...

UDP通讯协议

常见的通讯协议有udp和tcp. 先来简单了解一下这两个协议各自的特点: UDP: --将数据及源.目的封装在数据包中,不需要建立连接: --每个数据包的大小限制在64k以内: --因无连接,是不可靠 ...

使用Visual Studio创建映像向导(Image Sprite)——Web Essential

原版的:Creating Image Sprite in Visual Studio - Web Essential 译者注:有关图片精灵的信息请參阅http://baike.baidu.com/vi ...

Unity Shader入门教程(一)

参考文献:http://www.360doc.com/content/13/0923/15/12282510_316492286.shtml Unity Shader是着色器,将纹理.网格信息输入,得 ...

AngularJS进阶&lpar;一&rpar;深入理解ANGULARUI路由&lowbar;UI-ROUTER

深入理解ANGULARUI路由_UI-ROUTER 最近在用 ionic写个webapp 看到几个demo中路由有好几种,搞的有点晕,查下资料研究下,做个笔记,其中大部分为摘抄别人的,做个说明免得被人 ...

SQL Server CTE 递归查询全解(转载)

在TSQL脚本中,也能实现递归查询,SQL Server提供CTE(Common Table Expression),只需要编写少量的代码,就能实现递归查询,本文详细介绍CTE递归调用的特性和使用示例 ...

刚开始学java和刚去工作的时候,1&period;path路径 2&period;classpath路径 还有JAVA&lowbar;HOME相当于&sol;dgs这个路径

把里面bin文件夹下面的可执行文件都配置到path路径下了,以后只要在Dos窗口输入命令就可以运行 无论是在dos窗口下还是在eclispe中只需要配置这个path变量,不需要配置classpath ...

汇编 fsub &comma;fmul&comma;fdiv&comma;fild&comma;CVTTPS2PI 指令

知识点:  浮点指令 fsub 一.浮点指令fsub 格式 fsub memvar // st0=st0-memvar 知识点:  浮点指令 fmul 一.浮点指令fmul 格式 fmul mem ...

STM32之HAL库、标准外设库、LL库

标准外设库(Standard Peripherals Library),应该是最早推出的版本,以前用STM32F103的时候,用的多 HAL(Hardware Abstraction Layer),硬 ...

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

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

相关文章

Vant Weapp - 去除(清除)<van-button> 按钮组件点击出现灰色背景效果

前言 正常引入组件后&#xff0c;点击按钮时会出现如下图所示灰色背景效果&#xff1a; 解决方案 TIPS&#xff1a;如果您是小程序普通组件按钮&#xff0c;请参考 官方文档&#xff0c;设置属性 hover-class"none" 即可去掉点击效果。 打开按钮组件所在 wxss 文件…

Win32反汇编(七)浮点指令(FLD / FILD / FSTP)与位移指令的逆向分析

前言 作者&#xff1a;浪子花梦&#xff0c;一个有趣的程序员 ~ 此系列文章都是一些基础的文章&#xff0c;每篇文章都通过几个小例子快速的了解 Win32反汇编与OD的使用&#xff0c;在此作个笔记 如若对您有帮助&#xff0c;记得三连哟 ~ 前文链接 Win32反汇编&#xff08;一&…

Django models Fild详解

本文参考自&#xff1a;django官方文档models/field 在model中添加字段的格式一般为&#xff1a; field_name field_type(**field_options) 一 field options(所有字段共用) 1 null 默认为False&#xff0c;True则表示可以为null。&#xff08;空字符串在数据库中可能被存…

SQlite3(轻型数据库)

1. main.m文件 #import <Foundation/Foundation.h> #import "SQLManger.h"int main(int argc, const char * argv[]) {autoreleasepool {// insert code here...NSLog("Hello, World!");SQLManger* sql [SQLManger shareSqlManger];[sql createTab…

我和ChatGPT聊了聊:它承认自己没有人性

我认为ChatGPT未来也许可以取代那些 重复 可以模板 固定公式 运作的工作 但是很难取代 定制化 人性化的工作 最近ChatGPT太火了&#xff0c;已经从好几个不同的渠道接触到了它&#xff0c;自然是整了一个去玩玩&#xff0c;零零散散问了它一些问题&#xff0c;答案还挺有意思的…

有了ChatGPT,还需要操作系统吗?|CCF C³

杨净 发自 凹非寺量子位 | 公众号 QbitAI 大模型引领的AI 2.0&#xff0c;远比想象来得更加猛烈。 尤其是被认为最先被颠覆的搜索引擎领域&#xff0c;产学研界都蠢蠢欲动&#xff0c;对可预见的趋势展开激辩。 没有了用户点击&#xff0c;内容提供商/广告该怎么办&#xff1f;…

震惊!外国小哥用ChatGPT完成80%工作,同时打4份工

【导读】自从ChatGPT火了以后&#xff0c;办公室白领可真是爽翻了。甭管什么任务&#xff0c;交给ChatGPT&#xff0c;准没错。 不少白领在工作中都用上了ChatGPT&#xff0c;堪称如虎添翼。 毕竟&#xff0c;很多工作都是重复的、有章可循的。 既然有了科技力量的加持&#xf…

ChatGPT会对未来5年的NLP算法从业者带来怎样的冲击?

周末看到知乎的一个问题&#xff0c;有点意思&#xff0c;值得NLPer思考&#xff0c;选取几个回答&#xff0c;欢迎留言。 问题&#xff1a;ChatGPT的诞生意味着模型大一统的可行性&#xff0c;这会对未来5年的NLP算法从业者带来怎样的冲击&#xff1f; 我个人从ChatGPT上看到了…

OpenAI 账户验证流程存在漏洞,可导致用户无限薅羊毛

聚焦源代码安全&#xff0c;网罗国内外最新资讯&#xff01; 编译&#xff1a;代码卫士 Checkmarx 公司指出&#xff0c;OpenAI 的账户验证流程中存在一个漏洞&#xff0c;可导致任何人使用同一个电话号码注册新账户后&#xff0c;获得无限制的服务额度。 作为人工智能公司&…

赚翻了!外国小哥用ChatGPT完成80%工作,同时打4份工

Datawhale分享 最新&#xff1a;ChatGPT应用&#xff0c;编辑&#xff1a;新智元 【导读】自从ChatGPT火了以后&#xff0c;办公室白领可真是爽翻了。甭管什么任务&#xff0c;交给ChatGPT&#xff0c;准没错。 不少白领在工作中都用上了ChatGPT&#xff0c;堪称如虎添翼。 毕…

ShardingJDBC读写分离

ShardingJDBC是什么 看一看ChatGPT对他的解释&#xff1a; ShardingJDBC是一个数据库连接池&#xff0c;它为数据库的分片和读/写拆分提供支持。它允许您跨多个物理数据库和服务器分发数据&#xff0c;并根据设置的配置将读写操作路由到适当的数据库。 以下是它的工作原理&…

为什么总是闹离职的员工没走,平时不吭声的员工却突然离职?

上一篇&#xff1a;华为“天才少年”稚晖君被曝离职&#xff01;两年前加入年薪百万起步的天才少年计划&#xff01; 相信工作过几年的朋友都遇到过类似的现象&#xff1a;总是闹离职的员工没走&#xff0c;平时不吭声的员工却突然离职。 其实很正常&#xff0c;总是闹离职的说…

盘点海外 AIGC 独角兽创始人,中国何时迎来自己的高光时刻?

据不完全统计&#xff0c;全球 AIGC 创业公司中估值在 10 亿美元以上的已经多达 10 家。包括推出 ChatGPT 的 OpenAI&#xff0c;因《太空歌剧院》而走红的 Midjourney 等。这些独角兽背后的创业者都是谁&#xff1f;他们又是如何成为时代的开创者&#xff1f;本篇文章带你一看…

适合程序员使用的 ChatGPT!!!

ChatGPT 不仅能解决亲情&#xff0c;友情&#xff0c;爱情等非常热门的问题&#xff0c;还能帮助程序员在开发中反复测试自己的代码或者切磋技艺。 例如&#xff0c;作为程序员的我们&#xff0c;只要在ChatGPT上轻轻松松地输出我们的需求&#xff0c;“null pointer怎么解决啊…

1 分钟高效集成 ChatGPT,Stable Diffusion 等 AIGC 模型最强教程

1 分钟能做什么&#xff1f;集成 ChatGPT 到自己的公众号&#xff0c;小程序或者 APP&#xff1f;集成各种形式的 Stable Diffusion&#xff0c;让 AIGC 帮助自己的项目更有趣&#xff0c;更生动&#xff1f;本教程将会教大家如何 1 分钟高效集成 ChatGPT&#xff0c;Stable Di…

【起飞】让你电脑速度快到飞起的一些牛逼的设置整理【电脑卡顿反应慢等问题解决】

对于开发来说电脑的反应速度简直影响了思维的速度&#xff0c;要让电脑速度跟上我们的思维&#xff0c;提高工作效率&#xff0c;早点打卡下班回家陪老婆孩子哈哈 这篇文章主要对windows系统做的一些优化&#xff0c;是真的好用&#xff0c;仿佛在访问静态页面一样&#xff0c;…

【Redis】孔夫子旧书网爬虫接入芝麻代理IP:代理IP利用效率最大化

背景&#xff1a; 之前用过芝麻IP&#xff0c;写过这几篇文章 《【Python】芝麻HTTP代理系列保姆级全套攻略(对接教程自动领取每日IPIP最优算法)》 《【Python】记录抓包分析自动领取芝麻HTTP每日免费IP&#xff08;成品教程&#xff09;》 《爬虫增加代理池&#xff1a;使用稳…

高通410 随身WIFI刷入Debian系统(玩法合集)

引言 刚接触到这个项目是在b站上&#xff0c;刷到一位UP主的视频&#xff1a;https://b23.tv/xAFWiTF 其实现了在搭载高通410芯片的随身WIFI烧录linux系统&#xff0c;并在上面部署了chatGPT-Next网站服务。 本人参考的教程链接和其教程所有工具&#xff1a;https://pan.bai…

chatgpt赋能python:Python如何薅羊毛?

Python如何薅羊毛&#xff1f; 近年来&#xff0c;Python已经成为了越来越多程序员的首选编程语言。除了在技术领域得到广泛应用&#xff0c;Python还可以被用于一些非正当途径&#xff0c;比如薅羊毛。在这篇文章中&#xff0c;我们将会学习如何利用Python来薅羊毛。 什么是…

【ChatGPT】GPT实现原理大解析——看完就知道什么叫颠覆

文章目录 前言一、ChatGPT是什么&#xff1f;二、那么&#xff0c;如何计算下一个单词的概率&#xff1f;三&#xff0c; 什么是模型&#xff1f;四&#xff0c;如何制作能完成人类任务的模型五&#xff0c;神经网络总结 前言 ChatGPT 能够自动生成类似于人类写作的文本&#…