10774: matrix

题目描述

现在有一个n*m的01矩阵,矩阵的行与行可以互相交换,我们现在想知道在一个最优的交换方案中,其中最大的全1子矩阵能有多大。

输入

第一行两个整数n,m。
接下来n行,每行一个长度为m的01字符串,描述这个01矩阵。

输出

一个数,即最大的全1子矩阵面积。

样例输入

复制样例数据

2 2
10
11

样例输出

2

提示

对于30%的数据,n,m<=10。
对于70%的数据,n,m<=1000。
对于100%的数据,n,m<=5000。

寒假的题 碰到类似的 就回来写一下
思路:
用sum[i][j]记录 第i行 到第j列这个位置连续的1的数量
然后从1开始枚举每一列,用cnt[i]记录到这一列中连续出现i个的数量,那么i*cnt[i]就是换行之后出现的各种矩形的面积
注意cnt[i] cnt[j] 若i>j 相乘的时候 j = j+i    ( 就是短的也可以用长的 )
代码:
#include <bits/stdc++.h>using namespace std;
const int maxn = 5005;
int Map[maxn][maxn];int main()
{int n,m;char s[maxn];scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%s",s+1);for(int j=1;j<=m;j++){Map[i][j] = s[j]-'0';if(Map[i][j])Map[i][j] += Map[i][j-1];}}int ans = 0;int maxx = m;int cnt[maxn]={0};for(int j=1;j<=m;j++){for(int i=0;i<=n;i++)  //str[i][j] 为到这一列的连续长度
        {if(Map[i][j]!=0){cnt[Map[i][j]]++;}}for(int i=m;i>=1;i--){ans = max(ans,i*cnt[i]);cnt[i-1]+=cnt[i];cnt[i] = 0;}}printf("%d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/hao-tian/p/10437622.html

10774: matrix相关推荐

  1. Android 自定义View ——Matrix (矩阵)

    Matrix的作用: Matrix类包含一个3x3矩阵,用于转换坐标 Matrix (矩阵) 的原理很遗憾自己目前也是含糊的很,这里就不说了,记录自己在项目使用的方法, 这里就简单的记录下Matrix ...

  2. Codeforces 903F Clear The Matrix(状态压缩DP)

    题目链接 Clear The Matrix 题意 给定一个$4 * n$的矩形,里面的元素为$'.'$或$'*'$.现在有$4$种正方形可以覆盖掉$'*'$,正方形的边长分别为$1,2,3,4$. 求 ...

  3. ie旋转滤镜Matrix

    旋转一个元素算是一个比较常见的需求了吧,在支持CSS3的浏览器中可以使用transform很容易地实现,这里有介绍:http://www.css88.com/archives/2168,这里有演示ht ...

  4. Eigen(1):Matrix模板类

    Matrix是一个模板类,利用模板类可以定义矩阵类. 矩阵类模板: 1Matrix类有6个模板参数,只需要了解前3个就好了. Matrix<typename Scalar, int RowsAt ...

  5. CUDA Samples: matrix multiplication(C = A * B)

    以下CUDA sample是分别用C++和CUDA实现的两矩阵相乘运算code即C= A*B,CUDA中包含了两种核函数的实现方法,第一种方法来自于CUDA Samples\v8.0\0_Simple ...

  6. 二维码Data Matrix的解码实现(zxing-cpp)

    二维码Data Matrix的介绍可以参考http://blog.csdn.net/fengbingchun/article/details/44279967 ,以下是通过zxing-cpp开源库实现 ...

  7. 二维码Data Matrix编码、解码使用举例

    二维码Data Matrix的介绍见: http://blog.csdn.net/fengbingchun/article/details/44279967  ,这里简单写了个生成二维码和对二维码进行 ...

  8. 二维码Data Matrix简介及在VS2010中的编译

    Data Matrix 二维条码原名Datacode,由美国国际资料公司(International Data Matrix, 简称ID Matrix)于1989年发明.Data-Matrix二维条码 ...

  9. Educational Codeforces Round 9 F. Magic Matrix 最小生成树

    F. Magic Matrix 题目连接: http://www.codeforces.com/contest/632/problem/F Description You're given a mat ...

最新文章

  1. [ASP.NET 控件实作 Day8] 控件常用 Attribute 介绍(1)
  2. 语义分割 | segnet 制作自己的数据,如何训练,如何测试,如何评价
  3. AppleScript
  4. 不采取任何措施 盒盖_得了癌症如果不化疗能活多久?医生的答案很实在
  5. 在EditPlus中配置PHP调试
  6. SaaS市场增长迅速 企业借CRM消灭管理黑洞
  7. C语言 - setjmp与longjmp
  8. K8s中原生配置中心探究
  9. ape格式转换ogg格式用什么软件好
  10. dart语言和flutter学习——Dart语言学习
  11. VNC远程桌面使用方法
  12. ccproxy 6.61 注册机(纯绿/傻瓜/真正去除线程限制)
  13. 首届IBC“社会影响力奖”表彰行业多元化、可持续发展和伦理领导
  14. erpc(EmbeddedRPC)入门笔记
  15. 程序员的我,为何来了大北京
  16. 苹果cms8整合dplayer播放器
  17. 胡歌官宣生女,胡椒粉们真为他高兴,人生最顶级的能力是【涅槃重生】的力量
  18. 路由器中的DMZ功能是什么?
  19. Android - 手机实现振动
  20. 宕机处理:Kubernetes集群高可用实战总结

热门文章

  1. 【译】Three Security Trends Are Key to Decentralize Artificial Intelligence
  2. Binder子系统之调试分析(一)
  3. 一个表格中文字怎么换行_Excel表格中怎样快速将阿拉伯数字转化为大写文字?这样操作一键完成...
  4. java自定义字段_java-使用自定义字段构造函数将HTML属性添加...
  5. c++ vector 赋值_C++中vector用法
  6. 前后端分离和微服务_为什么说微服务,要从前后端分离开始?一文带你揭秘深入微服务...
  7. html代码在线运行环境,ES5/可执行代码与执行环境
  8. matlab FAQ
  9. TensorRT学习笔记3 - 运行sampleMNIST
  10. 电费结算(electric)