蓝桥集训之矩形牛棚

蓝桥集训之矩形牛棚

  • 核心思想:单调队列

    • 模板:Acwing.131.直方图矩形面积
    • 首先遍历所有下界 然后确定以该下界为底的直方图 求最大矩形
      • 在这里插入图片描述
  •   #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 3010;int stk[N],top;int r[N],l[N];int g[N][N],h[N][N];int n,m,q;int work(int h[])  //找最大面积{top = 0;stk[++top] = 0;  //边界下标加入h[0] = h[m+1] = -1;  //左右边界for (int i = 1; i <= m; i ++ ){while (h[stk[top]] >= h[i]) top -- ;  //h[i]更优l[i] = stk[top];  //l[i]为左边第一个比h[i]小的stk[ ++ top] = i;}top = 0;stk[++top] = m+1;  //右边界下标for (int i = m; i; i -- ){while (h[stk[top]] >= h[i]) top -- ;r[i] = stk[top];  //r[i]为右边第一个比h[i]小的stk[ ++ top] = i;}int res=0;for(int i=1;i<=m;i++)res = max(res,h[i] * (r[i] - l[i] - 1));  //长乘宽return res;}int main(){cin>>n>>m>>q;while(q--){int x,y;cin>>x>>y;g[x][y] = 1;}for (int i = 1; i <= n; i ++ )for (int j = 1; j <= m; j ++ )if(!g[i][j])  //如果没有被破坏h[i][j] = h[i-1][j] + 1;  //递归求h数组int res=0;for (int i = 1; i <=n; i ++ )res = max(res , work(h[i]));cout<<res<<endl;}
    

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

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

相关文章

前端基础篇-前端工程化 Vue 项目开发流程(环境准备、Element 组件库、Vue 路由、项目打包部署)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 环境准备 1.1 安装 NodeJs 1.2 验证 NodeJs 环境变量 1.3 配置 npm 的全局安装路径 1.4 切换 npm 的淘宝镜像( npm 使用国内淘宝镜像的方法(最新) ) 1.5 查看镜像…

win10-误删winsock恢复方法

文件链接放在最前面 链接&#xff1a;https://pan.baidu.com/s/1i9X0HJJOfo63fbtOETc1Xw?pwdlfqx 提取码&#xff1a;lfqx 误删后应该还是可以正常连接网络的&#xff0c;但是重启过后直接以太网和wifi都是无法使用的。下图是我后面网络正常补充的图片 误删后是只有飞行模式…

C语言操作符和数据类型的存储详解

CSDN成就一亿技术人 目录​​​​​​​ 一.操作符 一.算数操作符&#xff1a; 二.位移操作符&#xff1a; 三.位操作符&#xff1a; 四.赋值操作符&#xff1a; 五.单目操作符&#xff1a; 六.关系操作符&#xff1a; 七.逻辑操作符&#xff1a; 八.条件操作符&…

Xpath解析

目录 Xpath的简介&#xff1a; 简介&#xff1a; 相关概念&#xff1a; Xpath的使用&#xff1a; 安装&#xff1a; 用法&#xff1a; 第一步&#xff1a;准备html 第二步&#xff1a;将html构造出etree对象 第三步&#xff1a;使用etree对象的xpath()方法配合xpath表达…

Zookeeper(八)序列化与协议

目录 一 序列化与反序列化1.1 Jute序列化工具1.1 Recor接口1.2 OutputArchive和InputArchive 二 通信协议2.1 请求部分2.1.1 请求头2.2.2 请求体2.1.3 案例分析 2.2 响应部分2.2.1 响应头2.2.2 响应内容2.2.3 案例分析 官网&#xff1a;Apache ZooKeeper 一 序列化与反序列化 …

vector类详解及重要函数实现

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 今日主菜&#xff1a;vector类 主厨&#xff1a;邪王真眼 所属专栏&#xff1a;c专栏 主厨的主页&#xff1a;Chef‘s blog 坚持下去&#xff0c;成功不是目的&a…

CleanMyMac X 4.15.1 for Mac 最新中文破解版 系统优化垃圾清理工具

CleanMyMac X for Mac 是一款功能更加强大的系统优化清理工具&#xff0c;相比于 CleanMyMac 4.15.1来说&#xff0c;功能增加了不少&#xff0c;此版本为4.15.1官方最新中英文正式破解版本&#xff0c;永久使用&#xff0c;解决了打开软件崩溃问题&#xff0c;最新版4.15.1版本…

c++常考基础知识(2)

二.c关键字 关键字汇总 c中共有63个关键字&#xff0c;其中包括int&#xff0c;char&#xff0c;double等类型关键字&#xff0c;if&#xff0c;else&#xff0c;while&#xff0c;do&#xff0c;等语法关键字&#xff0c;还有sizeof等函数关键字。 三.数据结构 1.数组&#x…

006——存储设备(基于liteos-a)

目录 存储设备驱动程序分析 1.1 字符设备和块设备 1.1.1 APP与驱动程序的交互 1. 字符设备驱动程序 2. 块设备驱动程序教 1.1.2 驱动程序结构体 1.1.3 注册函数 1. 字符设备驱动程序注册函数 2. 块设备驱动程序注册函数 1.2 MTD设备 1.3 块设备驱动程序为MTD开了一个…

Mac电脑高清媒体播放器:Movist Pro for mac下载

Movist Pro for mac是一款专为Mac操作系统设计的高清媒体播放器&#xff0c;支持多种常见的媒体格式&#xff0c;包括MKV、AVI、MP4等&#xff0c;能够流畅播放高清视频和音频文件。Movist Pro具有强大的解码能力和优化的渲染引擎&#xff0c;让您享受到更清晰、更流畅的观影体…

操作系统内功篇:硬件结构之CPU是如何执行任务的?

一 CPU是如何读写数据的&#xff1f; 1.1 CPU架构(组成) 当代CPU一般是多核心的&#xff0c;每个核心都有自己的一个L1和L2Cache&#xff0c;L3Cache是一个CPU所有核心共享的&#xff0c;一个CPU只有一个。L1Cache分为数据缓存和指令缓存。 CPU有三层高速缓存的目的就是将Cac…

2024跨境品牌出海指南:9大关键要素与注意事项

随着全球经济的不断发展&#xff0c;跨境电商成为品牌拓展国际市场的重要途径。然而&#xff0c;随之而来的是更为激烈的竞争和日益变化的市场环境。2024年&#xff0c;跨境卖家若想成功出海&#xff0c;必须在众多竞争者中脱颖而出。本文Nox聚星将和大家探讨2024年品牌出海过程…