zoukankan      html  css  js  c++  java
  • hdu2686 dp 可移动的01矩阵

    这题的话,和01矩阵差不多,但是每列可以移动,所以每列sort一下就可以了,因为把eof写成n!=0,tle,改了直接200ms...

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <cstring>
    #include <algorithm>
    #include <string>
    #include <stack>
    #include <queue>
    
    const int inf = (1<<31)-1;
    const int MAXN = 1e3+10;
    
    using namespace std;
    
    int dp[MAXN][MAXN];
    int row[MAXN];
    char s[MAXN];
    
    int main()
    {
        int n,m,mmax,k;
        while(scanf("%d%d",&n,&m)!=EOF){
            for(int i=1;i<=n;i++){
                scanf("%s",s);
                for(int j=1;j<=m;j++){
                    if(s[j-1]=='1'){
                        dp[i][j] = dp[i-1][j]+1;
                    }else{
                        dp[i][j] = 0;
                    }
                }
                
            }
            
            mmax = 0;
            
            for(int i=1;i<=n;i++){
                k = 0;
                for(int j=1;j<=m;j++){
                    if(dp[i][j])
                        row[k++] = dp[i][j];
                }
                sort(row,row+k);
                for(int j=0;j<k;j++){
                    mmax = max(mmax,row[j]*(k-j));
                }
            }
            printf("%d
    ",mmax);
        }
        return 0;
    }
    View Code

    :smile:

    在一个谎言的国度,沉默就是英雄
  • 相关阅读:
    Qt编写安防视频监控系统1-通道切换
    Qt编写数据可视化大屏界面电子看板12-数据库采集
    Serv-U
    CLAAS KGaA mbH
    法国雷诺
    Bulma
    react技术栈
    小程序开发
    上海hande
    30个极大提高开发效率的VSCode插件
  • 原文地址:https://www.cnblogs.com/EdsonLin/p/5401626.html
Copyright © 2011-2022 走看看