当前位置: 首页 > news >正文

打卡信奥刷题(3156)用C++实现信奥题 P7741 [AHOI2007] 石块地板

P7741 [AHOI2007] 石块地板

题目描述

小可可来到了宫殿的正厅中。大厅的地面是由一块块大小一致的正方形石块组成的,这些石块分为黑、白两色,组成了一个m×nm×nm×n的矩形,在其中一个石块的下面就是通往藏宝库的通道。小可可不可能一个一个石块的尝试,因为有些石块安装了机关,一碰就会触发,整个宫殿也随之倒塌。根据藏宝图记载,通道在某一特定的区域中,这个区域是一个由数个石块组成的面积不为000的小矩形,它的四条边与大厅地面的边平行。如果对整个大厅地面任意划分矩形,那么在所有矩形中,这个区域的黑色石块数目减去白色石块数目所得的差是最大的。

小可可希望和你分工,由他来选择区域,你来计算黑、白两色石块的数目差SSS。这样就能快速而准确的确认通道所在的区域。藏宝图上说这个区域中的石块都没有安装机关,只要确定了区域,就一定能找到通道。宝藏就在眼前了,加油吧!

(假设用111表示黑色石块,用000表示白色石块)

输入格式

输入文件的第一行为两个整数m,nm,nm,n

以下mmm行,每行nnn个字符,每个字符都是000111

输出格式

输出文件仅一个数,表示所有可能的区域中SSS值(见前文描述)最大的一个,输出这个值即可。

输入输出样例 #1

输入 #1

3 4 1011 1111 1111

输出 #1

10

输入输出样例 #2

输入 #2

4 5 10110 01111 11110 10101

输出 #2

8

说明/提示

对于 $ 50%$ 的数据:1≤m,n≤2001 \le m, n \leq2001m,n200

对于100%100\%100%的数据:1≤m,n≤4001 \le m, n \leq4001m,n400

C++实现

#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#definemaxn405intm,n,ans;intsum[maxn][maxn],f[maxn];charc;signedmain(){cin>>m>>n;//注意不是 n 行 m 列for(inti=1;i<=m;i++)for(intj=1;j<=n;j++){cin>>c;if(c=='1')sum[i][j]=sum[i][j-1]+1;elseif(c=='0')sum[i][j]=sum[i][j-1]-1;}//求出每一行的前 j 个数的前缀和for(inti=1;i<=n;i++)for(intj=i;j<=n;j++){//枚举第 i 列到第 j 列for(intk=1;k<=m;k++)f[k]=sum[k][j]-sum[k][i-1];//把每一行的和算出来for(intk=1;k<=m;k++){f[k]=max(f[k],f[k]+f[k-1]);ans=max(ans,f[k]);}//最大子段和问题}cout<<ans<<endl;return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.jsqmd.com/news/689843/

相关文章:

  • python heapq
  • 保姆级教程:在Windows上搭建你的第一个VCU HIL仿真测试环境(含模型配置避坑指南)
  • LangSmith调试评估
  • 解锁Windows 11原生美感:如何让所有应用窗口焕发Mica质感
  • Mentor Xpedition 实战:如何从别人的设计里‘借’Symbol和Cell,快速建好自己的库?
  • Qwen3-4B-Instruct入门指南:超长上下文在合同审查场景中的落地实践
  • 别再让Win10虚拟机卡成PPT了!保姆级性能优化清单(含Office/福昕阅读器专项调优)
  • 用STM32F103C8T6和MQ4传感器DIY一个厨房天然气报警器(附完整代码和电路图)
  • NumPy核心模块multiarray导入失败:从报错到修复的实战指南
  • 中国智能眼镜头部玩家冲刺上市,大厂入局能否助力破局?
  • FPGA加速神经网络训练:推测性反向传播实践
  • C++ 字符串匹配实战:手把手教你用 find() 函数搞定子串验证(附两种方法对比)
  • duckdb excel插件和rusty_sheet插件在python中的不同表现
  • NCM格式逆向工程深度解析:ncmdump解密引擎架构设计与性能优化指南
  • RK356X Android11上GT9271触摸屏调试:从设备树配置到坐标反转的完整避坑指南
  • 从GPF地面分割到点云配准:手把手教你实现多激光雷达联合标定(ROS+PCL实战)
  • 别再手动调样式了!用ECharts 5.4 + ec-canvas 2.0 实现小程序图表自适应布局(附完整代码)
  • 2026年4月新消息:浙江韩系女鞋源头厂家实力盘点,优选指南看这里 - 2026年企业推荐榜
  • 避坑指南:LabVIEW安装后除了范例打不开,你可能还会遇到这3个隐藏问题
  • GROMACS模拟避坑大全:从力场选择、离子命名到mdp参数配置,新手必看的7个实战细节
  • 别慌!遇到‘FATAL XX000: the limit of 818 distributed transactions has been reached’报错,手把手教你调优瀚高数据库max_con
  • 后量子密码学中的拒绝采样技术及硬件优化
  • 4月24日成都地区华岐产焊管(Q235B;内径DN15-200mm)现货批发 - 四川盛世钢联营销中心
  • ADI DSP仿真器接口升级了?从14PIN到10PIN的实战转换指南(附CCES链路测试方法)
  • 2026 语言培训行业优质 GEO 优化服务商推荐榜 - GEO优化
  • 告别卡顿!在Ubuntu 20.04上搭建轻量级远程桌面(Xfce4+Xrdp),附Chrome浏览器安装与色深问题解决
  • 别再手动写聊天室了!用uni-im插件5分钟搞定uniapp用户与商家私信功能(附完整源码)
  • RK3568串口RS485驱动改造实战:从设备树到tasklet避坑全记录
  • OmenSuperHub:3分钟解锁惠普游戏本终极性能控制指南
  • 别再手动转换了!CAPL脚本中字符串与数据互转的5个高效函数详解(附避坑指南)