Codeforces Round #221 (Div. 1) B:http://codeforces.com/problemset/problem/375/B

题意:给你一个n*m的0,1矩阵,你可以交换一些行,求一个最大子矩阵的面积,这个子矩阵全部包含1.

题解:看标签是数据结构,怎么想,也不知道用数据结构怎么搞。最后想到是求面积,面积不就是l*d,只要确定了了l和d,面积就出来了,于是我想到了枚举l和d。这里要先处理出来一些东西,dp[j][i]表示(i,j)的右边的有多少个连续的1,包括(i,j),可以这么想,矩阵的左边一定出现在那一列,所以可以枚举列,对于固定左边来说,也就是起点固定了,那么狠容易想到,,要把连续1多的放在一起,所以要对该列进行排个序,然后就可以开始枚举,从上到下,因为最上面的是最短的,所以下面构成的面积才是我们想要的。得到最大的面积。表述不是很清晰,还是看代码吧。题解说用基数排序,但是我用了基数排序,发现比类库的排序要慢,也许是数据小的原因吧。

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=;
int n,m,r[N][N];
char mp[N][N];
bool temp[N];
/*int counts[N],tmp[N];
int maxbit(int x){
int d=1;
for(int i=1;i<=n;i++){
int c=1;
int p=r[x][i];
while(p/10){
p=p/10;
c++;
}
if(c>d)
d=c;
}
return d;
}
void RadixSort(int x){
int d=maxbit(x);
int rr=1;
for(int i=0;i<d;i++){
for(int j=0;j<10;j++)
counts[j]=0;
for(int j=1;j<=n;j++) {
int k=r[x][j]/rr;
int q=k%10;
counts[q]++;
}
for(int j=1;j<10;j++){
counts[j]+=counts[j-1];
}
for(int j=n;j>=1;j--)
{
int p=r[x][j]/rr;
int s=p%10;
tmp[counts[s]-1]=r[x][j];
counts[s]--;
}
for(int j=0;j<n;j++){
r[x][j+1]=tmp[j];
}
rr=rr*10;
}
}*/
int main(){
while(~scanf("%d%d",&n,&m)){
memset(r,,sizeof(r));
for(int i=;i<=n;i++)
scanf("%s",mp[i]+);
for(int i=;i<=n;i++){
int temp=;
for(int j=m;j>=;j--){
if(mp[i][j]==''){
temp=;
}
else
temp++;
r[j][i]=temp;
}
}
int ans=;
for(int i=;i<=m;i++){
//RadixSort(i);
sort(r[i]+,r[i]+n+);
for(int j=;j<=n;j++){
ans=max(ans,r[i][j]*(n-j+));
}
}
printf("%d\n",ans);
}
}

Maximum Submatrix 2的更多相关文章

  1. CF 375B Maximum Submatrix 2[预处理 计数排序]

    B. Maximum Submatrix 2 time limit per test 2 seconds memory limit per test 512 megabytes input stand ...

  2. Codeforces Round #221 (Div. 1) B. Maximum Submatrix 2 dp排序

    B. Maximum Submatrix 2 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset ...

  3. Maximum Submatrix & Largest Rectangle

    相关题型 问题一(最大和子矩阵) : 有一个 m x n 的矩阵,矩阵的元素可正可负.请找出该矩阵的一个子矩阵(方块),使得其所有元素之和在所有子矩阵中最大.(问题来源:http://acm.pku. ...

  4. cf D. Maximum Submatrix 2

    http://codeforces.com/contest/376/problem/D 题意:给你一个矩阵,可以随意排列n行的次序,然后找出全部含有1的子矩阵.输出1的个数. 思路:c[i][j]表示 ...

  5. Codeforces 375B Maximum Submatrix 2 (DP)

    <题目链接> 题目大意:给出一个01矩阵,行与行之间可以互换位置,问能够得到最大的全1矩阵的面积. #include <bits/stdc++.h> using namespa ...

  6. 【Codeforces 375B】Maximum Submatrix 2

    [链接] 我是链接,点我呀:) [题意] 如果任意行之间可以重新排序. 问你最大的全是1的子矩阵中1的个数 [题解] 设cnt[i][j] 表示(i,j)这个点往右连续的1的个数 我们枚举列j 然后对 ...

  7. Codeforces 375

    A 7的所有的余数都可以用1,6,8,9排列得到,然后搞一下就可以了. B 可以用类似于单调队列的东西搞.具体看代码: /* * Problem: B. Maximum Submatrix 2 * A ...

  8. HOJ题目分类

    各种杂题,水题,模拟,包括简单数论. 1001 A+B 1002 A+B+C 1009 Fat Cat 1010 The Angle 1011 Unix ls 1012 Decoding Task 1 ...

  9. Soj题目分类

    -----------------------------最优化问题------------------------------------- ----------------------常规动态规划 ...

随机推荐

  1. HDU ACM 1025 Constructing Roads In JGShining&#39;s Kingdom-&gt;二分求解LIS+O(NlogN)

    #include<iostream> using namespace std; //BFS+优先队列(打印路径) #define N 500005 int c[N]; int dp[N]; ...

  2. Linux多线程——使用互斥量同步线程

    前文再续,书接上一回,在上一篇文章: Linux多线程——使用信号量同步线程中,我们留下了一个如何使用互斥量来进行线程同步的问题,本文将会给出互斥量的详细解说,并用一个互斥量解决上一篇文章中,要使用两 ...

  3. [Firebase + PWA] Keynote: Progressive Web Apps on Firebase

    Link : Video. 1. Firebase Auth: provides simple login with Github, Google, Facebook, Twittr. Link 2. ...

  4. OOP 概述

    面向对象程序设计基于四个基本概念:数据抽象.封装.继承和动态绑定. 类的基本思想是数据抽象和封装. 1 数据抽象 数据抽象是一种依赖于接口和实现分离的编程技术.类的接口包括用户所能执行的操作:类的实现 ...

  5. easy ui example

    http://www.jeasyui.com/tutorial/index.php http://www.w3cschool.cc/jeasyui/jqueryeasyui-tutorial.html

  6. Not enough free space on disks! linux

    Not enough free space on disks!100多G未分配空间也装不了Linux ------------------------------------------------- ...

  7. 织梦dede编辑器ckeditor如何添加中文字体不乱码

    dedecms内容编辑器ckeditor没有中文字体,找了很多教程都是千篇一律,而且都是错的,终于找到了一篇,结合自己的实际操作,来教您如何添加中文字体,并且解决乱码问题.   工具/原料 dedec ...

  8. maven提示错误的解决办法

    import或者new一个的maven project的时候,提示如下错误 Description    Resource    Path    Location    TypeCannot read ...

  9. WPF TextElement内容模型简介(转)

    本内容模型概述描述了 TextElement 支持的内容. Paragraph 类是 TextElement 的类型. 内容模型描述哪些对象/元素可以包含在其他对象/元素中. 本概述汇总了派生自 Te ...

  10. 关于ASIHTTPRequest连续请求,并发连续,间隔时间很小崩溃问题

    在不停的刷新ASIHttpRequest的网络请求时,总是在刷新几次之后,整个app崩溃掉.我的app使用的ARC模式,以为可以自动释放到request的请求.经过摸索,还是需要在dealloc函数加 ...