HDU 2870 Largest Submatrix

三大主流交易接口实战指南:XTP、CTP与数字货币API的实盘接入解析 本文深入解析了量化交易系统实现实盘交易的关键环节,聚焦于三大主流交易接口的实战接入。详细介绍了证券领域的XTP、期货领域的CTP以及数字货币交易所API的核心特性、代码封装要点与风控实践,并提供了多市场接口整合的统一架构方案,为开发者打通量化交易的“最后一公里”提供了一份接地气的实战指南。 阅读详情

传送门

这道题虽然名字叫,但并不属于最大子矩阵和问题(或许这类问题可以看成只有1和-INF的最大子矩阵和的问题?2333不过没什么用)。还是直方图dp二维化。和上一篇基本一样,只不过这个题还得重复三遍。

这道题还是让你找一个单一字母构成的最大矩形,a,b,c三种字母不能换成别的,而别的都能换成a,b,c。所以只用考虑a,b,c这三种,每考虑一种时,都让这种字母尽可能多,将其他不是这种字母的都看成另一种。

这道题还是需要注意字符输入,每行字符输入前先getchar()掉换行符。


#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <string>
#include <queue>
using namespace std;                       // 无非分成三个问题,分别求解罢了

const int MAX = 1001;
int N, M;
int a[MAX][MAX];                           // 能变换a的都变成a
int b[MAX][MAX];
int c[MAX][MAX];
int l[MAX];                                // 下标代表列id
int r[MAX];
int ans;

void init()
{
	for (int i = 1; i <= M; i++)
		a[0][i] = b[0][i] = c[0][i] = 0;
	ans = -1;
}

void solve(int x[MAX][MAX])                // 数组作为参数
{
	int t;
	for (int i = 1; i <= N; i++)
	{
		l[1] = 1;
		for (int j = 2; j <= M; j++)
		{
			for (t = j; t - 1 >= 1 && x[i][t - 1] >= x[i][j]; t = l[t - 1]);
			l[j] = t;
		}
		r[M] = M;
		for (int j = M - 1; j >= 1; j--)
		{
			for (t = j; t + 1 <= M && x[i][t + 1] >= x[i][j]; t = r[t + 1]);
			r[j] = t;
		}
		for (int j = 1; j <= M; j++)
			ans = max(ans, x[i][j] * (r[j] - l[j] + 1));
	}
}

int main()
{
	char ch;
	for (; ~scanf("%d%d", &N, &M);)
	{
		init();
		for (int i = 1; i <= N; i++)
		{
			getchar();                       // 吸收换行
			for (int j = 1; j <= M; j++)
			{
				scanf("%c", &ch);
				if (ch == 'a' || ch == 'w' || ch == 'y' || ch == 'z')
				{
					a[i][j] = a[i - 1][j] + 1;
				}
				else a[i][j] = 0;

				if (ch == 'b' || ch == 'w' || ch == 'x' || ch == 'z')
				{
					b[i][j] = b[i - 1][j] + 1;
				}
				else b[i][j] = 0;

				if (ch == 'c' || ch == 'x' || ch == 'y' || ch == 'z')
				{
					c[i][j] = c[i - 1][j] + 1;
				}
				else c[i][j] = 0;
			}
		}

		solve(a);
		solve(b);
		solve(c);
		printf("%d\n", ans);
	}

	return 0;
}
【FF-A】第二章 Introduction Armv8.4 架构引入了在安全状态下的虚拟化扩展。Arm® SMMU v3.2 架构[1]为安全流添加了对第2阶段翻译的支持,以补充在 Armv8.4 处理器状态下的安全 EL2 翻译制度。这些架构特性使得在安全状态下,彼此不信任的软件组件能够相互隔离。关于在安全状态下引入虚拟化扩展以及固件框架目标的更多理念可在名为《在安全世界使用虚拟化进行隔离》的白皮书[3]中找到。软件组件只能访问物理地址空间和系统资源的区域,例如 GIC 中对其正确运行必要的中断。 阅读详情

相关推荐

如何在n8n中高效调用playwright-mcp实现浏览器自动化(附避坑指南)

本文详细介绍了在n8n中高效集成playwright-mcp实现浏览器自动化的全流程指南,包括环境准备、工作流设计与优化、高级技巧与性能调优以及调试与问题排查。通过克服实际部署中的各种挑战,帮助用户打造稳定高效的自动化解决方案,特别适合需要浏览器自动化的工作流场景。

weixin_30379531的博客 387

HDU 2870 Largest Submatrix(最大完全子矩阵)

Largest SubmatrixTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2830    Accepted Submission(s): 1368Problem DescriptionNow here is a matrix wit...

BBHHTT的博客 402

Zabbix7.4监控系统在Rocky Linux10.0上的完整部署流程(含MariaDB配置)

本文详细介绍了在Rocky Linux 10.0操作系统上部署企业级监控系统Zabbix 7.4的完整流程,并重点阐述了与MariaDB数据库的深度集成与性能优化配置。内容涵盖从系统环境准备、数据库安装与安全加固、Zabbix核心组件部署,到服务配置、Web界面初始化以及生产环境高级调优的全方位实战指南,旨在帮助用户构建稳定高效的监控平台。

weixin_29200741的博客 328

hdu 2870 - Largest Submatrix

题目:统计一个字母矩阵中最大的相同字母的面积,有些字母可以换成其他字母。 分析:dp,单调队列。计算分三种分别换成a,b,c求出最大的子矩阵,求出最大即可。             然后就是单调队列优化的查询算法了,确定每个点右(左)边第一个比他小的点;             T(N)=O(N^2)。 说明:(2011-09-19 08:15)。 #include #include

小白菜又菜 1206

告别Keil4!手把手教你用Keil C51 V9.61编译51单片机代码(附最新激活方法)

本文详细介绍了Keil C51 V9.61在51单片机开发中的全栈升级指南,包括编译速度提升、调试器性能优化和现代开发支持等核心优势。通过智能安装方案、项目迁移实战和新特性深度应用,帮助开发者告别Keil4,大幅提升开发效率。附有最新激活方法和实用技巧,适用于嵌入式开发工程师。

weixin_26886855的博客 420

从工创赛实战到开源:一个高鲁棒性智能物流视觉系统的构建与优化

本文分享了从工创赛实战中构建高鲁棒性智能物流视觉系统的完整经验。针对赛场复杂光线环境,详细阐述了摄像头选型、基于CLAHE和形态学梯度的抗干扰色环识别算法、卡尔曼滤波状态估计以及多线程串口通讯与任务调度等核心优化策略,旨在打造一个稳定可靠的视觉系统,并已将相关代码开源。

weixin_29046035的博客 319

hdu 2870 Largest Submatrix 最大子矩阵

题意: 有若干种 转换字母的方法,问转化后 可以得到的 最大相同字母矩阵 是多大。 矩阵大小= n*m 做法: 全转成a,然后不能的位子是0,可以的位子是1。 然后 deal 里就是一维的最大矩阵 的处理了。 是一种dp。 做法和一维的 hdu 1506 差不多。 然后再把 全是 b和c 的求出来 求最大值就好了。

万事屋 1023

Springer期刊LaTeX模板中参考文献格式选择与编译错误的快速修复指南

本文针对Springer期刊LaTeX模板中参考文献编译后显示问号的常见问题,提供了快速修复指南。核心在于正确选择并配置与期刊匹配的参考文献格式文件(.bst),并执行标准的四步编译流程。文章详细解释了问题根源,并给出了从查找正确.bst文件到修改代码、执行编译的完整解决方案,帮助作者高效解决投稿中的技术障碍。

weixin_29266007的博客 401

51Nod 2172 ProjectEuler 6 c/c++题解

[题目描述[(http://www.51nod.com/Challenge/Problem.html#problemId=2172) 前10个正整数的平方和是 12+22+⋯+102=385 前10个正整数和的平方是 (1+2+⋯+10)2=3025 和的平方减去平方和是3025 - 385 = 2640。 输入n,求前n个正整数和的平方 减去 平方和。 输入 输入第一行组数T, 接下来T行,每...

东瓜blog 407

IPGUARD客户端与应用程序冲突

客户端与应用程序冲突 症状 安装客户端之后,客户端的某些程序无法运行或使用过程中出现异常,卸载客户端后恢复正常。 原因分析 可能是客户端的某些功能与应用程序发生冲突导致。 解决方法 当出现这样的情况时,可以按照以下步骤确认。 步骤1:屏蔽主动注入 在客户端配置策略中,增加配置策略hookapi_disinj,值为1;待策略同步到客户端后,重启客户端确认问题是否解决。如果解决,则转到...

IP-Guard专栏 1410

基于STM32F1XX 、HAL库的OPT4001-Q1环境光传感器驱动应用C语言程序设计

OPT4001-Q1 的输出是半对数 的,具有 9 个二进制对数满量程照度范围,每个范围内具有高度线性响应,使得 PicoStar™ 型号的测量能力为 312.5μlux 至 84klux,USON 型号的测量能力为 400µlux 至 107klux。// 禁用中断(示例)

PP_Cottage的博客 461

Largest Submatrix of All 1’s--POJ3494

原题链接:http://poj.org/problem?id=3494 Description Given a m-by-n (0,1)-matrix, of all its submatrices of all 1’s which is the largest? By largest we mean that the submatrix has the most elements.

ZkvIA的博客 633

CarSim仿真快速入门(十八)-CarSim2021中的混合动力和纯电动系统

CarSim和TruckSim包括用于电动汽车(BEV)和混合电动汽车(HEV)的动力总成系统。电动和混合电动系统可与所有现有驱动系统配合使用,例如:FWD,RWD,AWD和多轴驱动系统。混合动力/电动系统模型还包括电池管理控制。CarSim或TruckSim中的默认动力总成是为闭环速度控制器提供的备用动力总成。要安装和使用完整的动力总成,请从Vehicle: Assembly库或Vehicle: Lead Unit 库链接到Powertrain数据集。在“动力总成”界面上,从下拉列表控件中选择以下三个选项

小明师兄的博客 7455

[HDU2870]Largest Submatrix

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description Now here is a matrix with letter ‘a’,‘b’,‘c’,‘w’,‘x’,‘y’,‘z’ and you can change ‘w’ to ‘a’ or ‘b’, ...

dxyinme-Zz 268

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

[HDU 2870] Largest Submatrix

[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=2870 [算法] dp + 单调栈 [代码] #include<bits/stdc++.h> using namespace std; #define MAXN 1010 int i,j,n,m,a...

124

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

hdu2870 Largest Submatrix[单调栈]

这题。。 我真傻,真的。。我单知道单调队列可以优化dp,加上平衡树,却不知道单调栈就可以。。 所以说常见模型要记住 求给定矩形最大的同字母矩形面积。(字母数:a,b,c) 多组数据$n,m≤1000$ 真的学傻掉了。。写出来一个$O(n^3)$dp方程还跟真的一样去想优化。。最后只能做到$O(n^2logn)$。。 一开始大体就是对于每行的每个字母,都可以统计出前i行这...

dianer2977的博客 151

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

hdu 2870 Largest Submatrix

http://acm.hdu.edu.cn/showproblem.php?pid=2870 和1506 和1505类似的解法 一个关键的优化就是 if(!num[j])   continue; 说实话不是想不到,关键是懒的加,因为看起来不可能优化多少 现在知道了,以后能优化的尽量优化, 这个不加就是超时与不超时的关系 代码: #include #include #inclu

talak的专栏 447

HDU 2870 Largest Submatrix

Largest Submatrix Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 839    Accepted Submission(s): 407 Problem Description Now here is a matr...

weixin_34166472的博客 148

HDU 2870 Largest Submatrix -

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2870 #include #include #include #include using namespace std; #define max3(a,b,c) max(a,max(b,c)) const int maxn=1000+5; const int A=0,B=1,C=2; //解的

BRCOCOLI的博客 243

具身智能入门:从树莓派小车到感知-决策-执行闭环

具身智能是AI与物理世界交互的进阶形态,核心在于感知、决策、执行与学习构成的持续闭环。与静态AI不同,它必须处理传感器噪声、硬件延迟和真实环境的不确定性,这也是许多原型系统落入“死亡谷”的根因。工程实践中,系统集成与鲁棒性往往比单点算法更关键。对于初学者,仿真环境能低成本验证逻辑,但真机才是暴露问题的试金石。一辆搭载树莓派的桌面小车,是搭建最小具身智能系统的理想载体:通过摄像头识别目标、生成控制信号、驱动电机完成跟随任务,再结合数据清洗和真机排查,即可完整走通从概念到落地的链路。ROS2、OpenCV、Py

weixin_34364071的博客 330

Hdu 2870 Largest Submatrix

题目链接 题意是和POJ 1964 是一样的 看下我的这篇博客就可以知道做法了 点这里 点这里 这题的转换再看下输入是如何转换的 #include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;iostream&gt; #include &lt;queue&gt; #include &lt;cmath&gt; #include...

我是谁 --- 卡比兽 150
上一篇: HDU 1505 City Game
下一篇: HDU 1081 To The Max
Crossing over
博客等级 码龄10年 6粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值