UVa:10074 Take the Land
来源:互联网 发布:淘宝卖家怎样添加客服 编辑:程序博客网 时间:2024/05/16 15:33
不小心瞄到题目提示,于是联想到之前做过的求最大子矩阵和的那道题。
这道题很类似,但是有些不同的是,可以计算的只有是0的矩阵,如果出现1就不能计算。
所以在求每个一维数组和的时候要保证序列中没有1。如果在原O(n^3)的算法上再判断就变成O(n^4)了。这里我用了空间换取时间的策略,另开一个三维数组me[i][j][k]记录第i行第j到k个元素之间是否包含1。
这样最后还是O(n^3)的算法。
在利用前缀和求一维数组和的时候,枚举起点终点,终点应该大于等于起点,结果写错了,WA了2次。
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;bool a[105][105],me[105][105][105];int s[105][105];int main(){ int M,N; while(scanf("%d%d",&M,&N)&&!(!M&&!N)) { int x; memset(s,0,sizeof(s)); memset(a,0,sizeof(a)); memset(me,0,sizeof(me)); for(int i=1; i<=M; ++i) for(int j=1; j<=N; ++j) { scanf("%d",&x); if(x==0) { a[i][j]=false; s[i][j]=s[i][j-1]+1; } else { a[i][j]=true; s[i][j]=0; } } for(int i=1; i<=M; ++i) for(int j=1; j<=N; ++j) { bool ok=false; for(int k=j; k<=N; ++k) { if(a[i][k]==true) ok=true; me[i][j][k]=ok; } } int mx=0; for(int i=1; i<=N; ++i) for(int j=i; j<=N; ++j) { int ans=0; for(int k=1; k<=M; ++k) { if(me[k][i][j]==true) { ans=0; continue; } int res=s[k][j]-s[k][i-1]; ans+=res; mx=max(ans,mx); } } printf("%d\n",mx); } return 0;}
- UVa 10074 - Take the Land
- UVa:10074 Take the Land
- UVa 10074 - Take the Land
- uva 10074 Take the Land
- uva 10074 Take the Land
- UVA 10074 Take the Land(最大子矩阵和变形)
- Take the Land - UVa 10074 变形最大子矩阵和
- UVA 10074 Take the Land dp/暴力+剪枝
- UVa 10074 Take the Land (转化思想&最大子矩阵和)
- uva 10499 - The Land of Justice
- uva-10499 - The Land of Justice
- UVa 10499 - The Land of Justice
- UVa 10499 - The Land of Justice
- UVA 10499 The Land of Justice
- uva 10499 - The Land of Justice
- uva 10499 The Land of Justice
- UVA 10499 The Land of Justice
- UVa 10499 - The Land of Justice
- 在Oracle中把标量子查询转换为复合子查询
- 基础知识--确定本机到另外一台机器中路由器的个数
- Java和C++中的嵌套类讨论
- 最新版ZMQ3.2.3
- 实作PHP表单图形验证码验证码
- UVa:10074 Take the Land
- zoj 2165 Red and Black
- ZOJ 3195 Design the city (在线LCA,4级)
- sqlserver中返回两个日期间相差几年零几月零几天,DATEDIFF通常不准确
- C++抽象工厂模式举例
- MyGUI的align table
- Windows Server 2008 IE 无法调整安全级别 的解决方案
- JSON for java入门总结
- 《火球——UML大战需求分析》(第2章 耗尽脑汁的需求分析工作)——2.1 需求分析面面观