HDU 2830 Matrix Swapping II

07群晖Docker部署nousresearch/hermes-agent 群晖Docker部署nousresearch/hermes-agent。 阅读详情

传送门

直方图dp二维版(link)。。的巧妙变形(可以任意交换两列从而构成一个新状态)。

以下两点:

  1. 其实这种题没必要用二维数组了,按照输入的顺序,在输入完每一行后就处理这一行。这样只用开两个数组(大小为m),其中一个缓存上一行(从而构造当前行的数据)。
  2. 这道题说可以任意交换两列无数次,那么就必须每一行每一行地处理了,因为每行的数据不会乱。
    这个条件就是等价于可以把每一行的这些柱形排列成一个最优状态。所谓最优状态,可以等价于每个柱形以自己完整高度进行扩散的距离最长。那么答案来了:以高度排序这些柱形,这样就是最优状态。(有几个柱形高度相等的话,临界的那个柱形可以得到正确的扩散值。)

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <string>
#include <queue>
using namespace std;

int N, M;
int pre_h[1000];       // 上一行的缓存
int h[1000];           // 当前行每个元素(1)的高度,只在当前行生效
int ans;

bool cmp(const int& i1, const int& i2)
{
	return i1 > i2;
}

void init()
{
	ans = 0;
	memset(pre_h, 0, sizeof pre_h);
}

int main()
{
	for (; ~scanf("%d%d", &N, &M);)
	{
		init();
		for (int i = 0; i < N; i++)
		{
			getchar();                   // 去掉换行
			for (int j = 0; j < M; j++)
			{
				if (getchar() == '1')
				{
					h[j] = pre_h[j] + 1;
					pre_h[j] = h[j];     // 这两句可以缩写成 h[j] = ++pre_h[j] 。。。
				}
				else pre_h[j] = h[j] = 0;
			}
			sort(h, h + M, cmp);         // 关键操作
			for (int j = 0; j < M; j++)  // 这回是一行一行执行,与输入顺序一致,所以可以省数组,而且这题要求列随便移,必须且正好符合按行的逻辑
				ans = max(ans, h[j] * (j + 1));
		}

		printf("%d\n", ans);
	}

	return 0;
}
避坑指南:时间序列互相关分析(CCF)常见的5个误用场景 本文详细解析了时间序列互相关分析(CCF)中常见的5个误用场景,包括忽视平稳性检验、混淆同期相关与因果关联、误读滞后阶数、忽略自相关干扰以及样本量不足等问题。通过实际案例和技术建议,帮助数据分析师避免这些陷阱,确保CCF分析的准确性和可靠性。 阅读详情

相关推荐

淘宝抓包,直达函数内部request请求体和response响应体, 告别FD, Charles,SSL,justtrustme 等http代理,证书工具。

淘宝抓包,hook发包函数,直接获取response相应数据

binary66的博客 4470

HDU 2830(动态规划)

问题描述: Given an N * M matrix with each entry equal to 0 or 1. We can find some rectangles in the matrix whose entries are all 1, and we define the maximum area of such rectangle as this matrix’s goodn

wust_cyl的博客 509

从生成到检测:全面解析Deepfake技术的演进与对抗策略

本文全面解析了Deepfake技术的演进与对抗策略,从GAN生成技术到先进的检测手段,探讨了其在娱乐与安全领域的双重影响。文章详细介绍了Deepfake的核心原理、技术迭代关键节点以及最新的检测方法,揭示了AI生成与识别的激烈博弈。同时,展望了量子计算和生物特征认证在未来攻防战中的潜在应用。

jenkins8butler的博客 255

HDU-2830最大矩形问题(三)

不BB了,上原题 Matrix Swapping II Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Description Given an N * M matrix with each entry equa

Kerwun的博客 915

TensorRT-LLM.V1.1.0rc0:在无 GitHub 访问权限的服务器上编译 TensorRT-LLM 的完整实践

1.NGC上的预构建发布容器进行部署,见《2.通过pip进行部署。3.从源头构建再部署。在实际开发中,我们常常面临这样的场景:本地笔记本为 Windows 系统,虽然可以访问 GitHub,但受限于硬件性能,编译大型项目(如 TensorRT-LLM)耗时过长;而公司或实验室提供的 Linux 服务器性能强劲,适合编译任务,但却因网络策略限制无法连接外网,尤其是无法访问 GitHub。。

xinvictory的专栏 1203

最新版电子发票样式html+css--普通发票+增值发票

【代码】最新版电子发票样式html+css--普通发票+增值发票。

weixin_44110923的博客 3680

HDU 2830 Matrix Swapping II(最大完全子矩阵之可移动列)

题目链接:Click here~~ 题意: 给你一个矩阵,里面的数字只有0和1两种,其中,列可以任意移动。问如何移动可以使某个子矩阵中元素全部是1,求出这个最大子矩阵的面积。 解题思路: 枚举所有的尾行,然后对于每个尾行,记录到这行为止每列连续的1的个数,为了形象起见,我们可以把每列看做宽度为1,连续个数看做它的高度。 然后问题就可以看做在一些高度可能为0的相邻矩...

fulerbakesi 195

大尺寸智能车的CAN驱动控制器制作(一)

本驱动板使用8个半H桥BTS7960驱动,使用CAN接口于车体主控制器通讯,最大承受电压48V 电流20A ,主控为STM32F103VET6,电机控制频率为18KHz,CAN通讯芯片为TJA1042T,全驱动板6-24V宽电压供电,采用24V降5V,5V降3.3V的方案供电,其中经过AMS1117作为降压芯片,可以有效降低主控损毁几率。在这里可以看到555电机相比于其他电机的功率大很多,所以需要大功率的电机驱动,在以往的电机驱动选型中选择了TB6612,L298N等小功率电机驱动。

技术的力量能够改变世界 569

HDU 2830 Matrix Swapping II (DP,最大全1矩阵)

题意 给你一个n*m矩阵 每列都可以随便交换位置 求最优交换后最大的全1子矩阵 又是HDU 1505 1506的变种 但这个更容易了 因为每列都可以交换位置了 那么这一行中所有比i高的都可以与i相邻了 只需要统计这一行有多少个比i高就行了 可以在算出每一行后 把高度大的放前面去 用num[i]记录排序后的列原来的数 这样就有j列比h[i][num[j]]高了 ...

weixin_30432007的博客 187

Zephyr,设备树概述

Zephyr使用设备树(DTS)描述硬件配置,通过设备树源码和绑定文件生成C头文件供开发使用。设备树采用树状结构,节点对应硬件设备,属性描述硬件特性。示例展示了I2C总线及其外设的节点层级关系,包括单元地址、兼容性标识等关键属性。构建系统将设备树转换为devicetree.h中的宏,使开发者能通过DT_前缀宏访问硬件信息,同时保留Kconfig覆盖默认值的能力。

汽车电子软件领域知识分享 722

2025目标检测新方向:弱监督目标检测的最新论文研究与应用

2025目标检测新方向:弱监督目标检测的最新论文研究与应用 ,人工智能,计算机视觉,大模型,AI,本文聚焦2025年弱监督目标检测新方向,阐述其基础概念,包括弱监督学习定义、标注形式及面临的定位不准等挑战。介绍最新论文研究的多种算法,如基于点标注的算法等,还涉及相关模型、应用领域,以及评价指标、数据集、实现工具框架,分析未来趋势与补充挑战及解决方案,为该领域研究提供全面参考。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 7万+

Hduoj2830 【矩阵数学】

/*Matrix Swapping II Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1433 Accepted Submission(s): 953 Problem Description Given an N * M m

乐着过一辈子的专栏 400

一分钟详解PCL中点云配准技术

原文首发于微信公众号「3D视觉工坊」: 一分钟详解PCL中点云配准技术 本文是对前两篇文章:点云配准(一 两两配准)以及3D点云(二 多福点云配准)的补充,希望可以在一定程度上帮助大家对点云配准理解地更为深刻。 一 PCL中点云配准技术的简单实现 在同一文件夹下,有测试数据文件monkey.ply,该文件是利用Blender创建的默认Monkey模型。 利用如下代码,将初始点云(图中绿色点云)...

3D视觉工坊 3704

hdu 2830 Matrix Swapping II

Description Given an N * M matrix with each entry equal to 0 or 1. We can find some rectangles in the matrix whose entries are all 1, and we define the maximum area of such rectangle as this matrix’s

捡起回忆碎片 351

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Matrix Swapping II HDU - 2830

Matrix Swapping II HDU - 2830 题意:一个由0,1组成的矩阵,求只由1组成的矩阵的最大的面积,矩阵的列与列是可以随意交换的;不看最后一个条件就和City Game HDU - 1505 一模一样了,但是这个题偏偏加上了最后一个条件, 怎么办呢???...

Sirius_han的博客 307

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

HDU 2830 Matrix Swapping II

Matrix Swapping II Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 793    Accepted Submission(s): 537 Problem Description Given an N * M ma...

weixin_34281477的博客 160

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

HDU 2830 Matrix Swapping II *

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2830 额 这题目思路太巧妙了 h[]保存从从第一行起连续的1的数量 1011      1011 1001 -> 2002 0001     0003    再因为列数是可以变的 所以,直接把该行所有1都往右移 第一层有三个1,变为0111, 所以ans=3*1和2*1和1*1 第二层

BRCOCOLI的博客 273

hdu 2830:Matrix Swapping II(简单DP)

hdu 2830:Matrix Swapping II(简单DP) Problem Description Given an N * M matrix with each entry equal to 0 or 1. We can find some rectangles in the matrix whose entries are all 1, and we define the max...

serendipity的博客 260

HDU 2830 Matrix Swapping II

Problem Description Given an N * M matrix with each entry equal to 0 or 1. We can find some rectangles in the matrix whose entries are all 1, and we define the maximum area of such recta...

aodiyi6351的博客 73
上一篇: HDU 2845 Beans
下一篇: HDU 1257 最少拦截系统
Crossing over
博客等级 码龄10年 6粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值