<题目链接>

题目大意:
给出一个01矩阵,行与行之间可以互换位置,问能够得到最大的全1矩阵的面积。

#include <bits/stdc++.h>
using namespace std; const int N = 5e3+;
int n,m;
int dp[N][N];
char mpa[N][N]; int main(){
while(~scanf("%d%d",&n,&m)){
for(int i=;i<=n;i++)scanf("%s",mpa[i]+);
memset(dp,,sizeof(dp));
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
if(mpa[i][j]=='')dp[j][i]=dp[j-][i]+; //在第i行内,以(i,j)这个点为末尾的最长连续1的数量
int ans=;
for(int i=;i<=m;i++){
sort(dp[i]+,dp[i]++n); //在第i列,将该列所有的dp[i]全部排序
for(int j=n;j>=;j--)
ans=max(ans,dp[i][j]*(n-j+));
//因为这样能够保证以这一列为矩阵的右边界,同时当前行以下的所有行的连续的1的个数一定大于等于当前行,所以能够这样一直向上递推构建合法的全1矩阵,只需要不断更新答案即可
}printf("%d\n",ans);
}
}

Codeforces 375B Maximum Submatrix 2 (DP)的更多相关文章

  1. 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 ...

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

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

  3. Codeforces - 702A - Maximum Increase - 简单dp

    DP的学习计划,刷 https://codeforces.com/problemset?order=BY_RATING_ASC&tags=dp 遇到了这道题 https://codeforce ...

  4. Codeforces 886E Maximum Element 组合数学 + dp

    我们定义dp[ i ]表示长度为 i 的序列, 最后没有一个==k的时候返回的方案数, 也就是最后强制返回 i 的方案数. 我们能得到dp方程   dp[ i ] = sum(dp[ i - j - ...

  5. Codeforces 332B Maximum Absurdity(DP+前缀和处理)

    题目链接:http://codeforces.com/problemset/problem/332/B 题目大意:给你n个数和一个整数k,要求找到不相交的两个长度为k的区间,使得区间和最大,输出这两个 ...

  6. Codeforces 889C Maximum Element(DP + 计数)

    题目链接  Maximum Element 题意  现在有这一段求序列中最大值的程度片段: (假定序列是一个1-n的排列) int fast_max(int n, int a[]) { int ans ...

  7. Maximum Submatrix & Largest Rectangle

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

  8. codeforces 407D Largest Submatrix 3

    codeforces 407D Largest Submatrix 3 题意 找出最大子矩阵,须满足矩阵内的元素互不相等. 题解 官方做法 http://codeforces.com/blog/ent ...

  9. Codeforces 484B Maximum Value(高效+二分)

    题目链接:Codeforces 484B Maximum Value 题目大意:给定一个序列,找到连个数ai和aj,ai%aj尽量大,而且ai≥aj 解题思路:类似于素数筛选法的方式,每次枚举aj,然 ...

随机推荐

  1. 【CF1151F】Sonya and Informatics(动态规划,矩阵快速幂)

    [CF1151F]Sonya and Informatics(动态规划,矩阵快速幂) 题面 CF 题解 考虑一个暴力\(dp\).假设有\(m\)个\(0\),\(n-m\)个\(1\).设\(f[i ...

  2. 重建docker实例

    1.显示当前运行的docker实例: [root@docker-test /]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORT ...

  3. Go语言系列(七)- 读写操作

    终端读写 1. 终端读写 操作终端相关文件句柄常量 os.Stdin:标准输入 os.Stdout:标准输出 os.Stderr:标准错误输出 2. 终端读写示例 package main impor ...

  4. SpringCloud笔记二:搭建项目基础框架

    目录 搭建框架 新建父工程 新建子工程api 新建子工程提供者provider 新建消费者consumer 总结 搭建框架 我们的SpringCloud微服务框架是父子工程,有一个父工程,剩下的都是子 ...

  5. Mybatis-PageHelper

    pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  6. MySQL学习6 - 完整性约束

    一 介绍 二 not null 与default 三 unique 四 primary key 五 auto_increment 六 foreign key 快速理解foreign key 创建两张表 ...

  7. 史上最污技术解读,让你秒懂IT术语(转载)

    假设你是一位妹子,你的男友沉迷游戏经常不接电话无故宕机,所以当你们约好下午逛街以后你要时不时地打个电话询问,看看他是不是还能正常提供服务,这叫心跳检测. 假设你是一位妹子,你想去逛街而你的男友A在打游 ...

  8. WebService - [Debug] java.net.BindException: Can't assign requested address

    Connected to the target VM, address: '127.0.0.1:57803', transport: 'socket' Exception in thread &quo ...

  9. conda安装cv2库

    conda install opencv-python或者 pip install opencv-python(不过好像是这个比较有效)

  10. python 打印Linux中文编码字符

    2018-10-12 12:02:15 星期五 python -c "print '\346\234\215\345\212\241\345\231\250\346\217\220\344\ ...