题目大意:输入矩阵,找出元素全为0的子矩阵的元素最大和。

解题策略:将0,1转换,动态规划中判断最长子区间和与当前列的大小的关系。

/*UVA 10074 Take the LandAC by J.DarkON 2013/3/21Time 0.020s
*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 110;
int matrix[maxn][maxn];
int width, height;inline void input(){for(int i=0; i<width; i++){for(int j=0; j<height; j++){cin >> matrix[i][j];// 0,1互换 matrix[i][j] = 1-matrix[i][j];}}
}int max_sum(int *b, int *matrix, int len_colu){int C_sum = 0;   //当前列最大子区间和int temp = 0;    for(int i=0; i<height; i++) b[i] += matrix[i]; //当前第i-j行,长度为1~j-i+1的“条”的长度 //依次枚举i-j行间,长度从1~j-i+1的“条” for(int i=0; i<height; i++){if(b[i] < len_colu){   //出现“1”不连续情况则抛弃 temp = 0;continue;}temp += b[i];if(temp > C_sum) C_sum = temp;}return C_sum;
}void solve(){int maxSum = 0, b[maxn];int temp = 0;for(int i=0; i<width; i++){memset(b, 0, sizeof(b));for(int j=i; j<width; j++){ //枚举第i行~第j行的 满足题意的子矩阵元素数,取最大 temp = max_sum(b, matrix[j], j-i+1);maxSum = max(maxSum, temp);}}cout << maxSum << endl;
}
///
int main(){while(cin >> width >> height && (width || height)){input();solve();}//system("pause");return 0;
}

UVA 10074 Take the Land(最大子矩阵和变形)相关推荐

  1. UVa 10074 Take the Land (转化思想最大子矩阵和)

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=sh ...

  2. uva 10074 Take the Land

    ps:博主为朱老师学生 这是一道和uva 108类似的题,值得注意的是最大空地初始为0 #include <cstdlib> #include <cstdio> #includ ...

  3. UVa 10074 - Take the Land

    这题和836一样,输入比那个简单的很多. /*************************************************************************> ...

  4. UVA 10074 Take the Land dp/暴力+剪枝

    原题传送门:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...

  5. UVa:10074 Take the Land

    不小心瞄到题目提示,于是联想到之前做过的求最大子矩阵和的那道题. 这道题很类似,但是有些不同的是,可以计算的只有是0的矩阵,如果出现1就不能计算. 所以在求每个一维数组和的时候要保证序列中没有1.如果 ...

  6. Uva 10074【递推dp】

    UVa 10074 题意:求01矩阵的最大子0矩阵. http://www.csie.ntnu.edu.tw/~u91029/MaximumSubarray.html#2 这里说的很清楚.先求Larg ...

  7. π-Algorithmist分类题目(3)

    原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(3) Probability ...

  8. Maximum Sum UVA - 108(连续子序列最大和—变形之子矩阵最大和)

    题目大意:给出 n*n 的矩阵,找每隔数字之和最大的子矩阵,输出最大和.  解题思路:枚举矩阵左上和右下的坐标,分别合并子矩阵的每列,使得二维转化为一维,然后利用连续子序列最大和去做就行. Time ...

  9. UVA, 516 Prime Land

    题意:给一个数的指数形式,例:5 1 2 1  num=5^1*2^1  求num-1的质因数分解结果 思路:素数筛法,质因数分解 代码如下: 1 #include <iostream> ...

最新文章

  1. 【Django】创建项目及框架介绍,学习笔记(一)
  2. Excel导出多sheet单sheet通用型(poi)
  3. 2016年计算机视觉和图像处理相关的国际会议一览表
  4. Reverse-engineer Source Code into UML Diagrams
  5. 数据结构【双指针算法】
  6. 获取linux数据段地址,获取kernel各个数据段,代码段的地址及范围
  7. YYYY-mm-dd HH:MM:SS大小写解释
  8. A guess 解题报告
  9. 吉他扒谱该怎么做?分享一款超好用的扒谱工具!
  10. 基于MATLAB的车牌识别实现
  11. 4k hidpi 黑苹果_关于4K,1440P显示屏开启HIdpi的问题
  12. vscode为python文件添加模板
  13. xxampp 配置php_MAC下使用XMAPP配置php环境
  14. Nginx模块开发之http handler实现流量统计(入门篇)
  15. 电脑端微信可以打开微信小程序了
  16. easyui onselect多选_easyUI combotree 多选取值
  17. [ FI基本业务流程 ] - Accounts Payable基础知识
  18. catia如何整列加工_CATIA机械加工工艺教程
  19. 对于“2017面向对象程序设计(Java)第五周工作总结”存在问题的反馈及本周教学计划...
  20. VQA系列论文(五)

热门文章

  1. 数据结构之(二叉)堆
  2. 巴士博弈_自主穿梭巴士内部和服务的设计
  3. 中高管职业生涯的挑战与机遇:如何在“中年危机”中突围?
  4. 计算机等级一级考试上机试题,计算机等级考试一级上机试题
  5. CMMI2.0之我见-技术解决方案TS产品集成PI
  6. Mac装双系统的那些优缺点详解
  7. vw 前端_前端适配之vw兼容方案(Vue版)
  8. jsp项目发布到服务器
  9. 查看oracle操作日志
  10. AutoCAD .NET开发1:环境搭建