UVa 10074 - Take the Land
题目大意:和UVa 836 - Largest Submatrix差不多,只需要修改一下数据就可以了。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define MAXN 110 int mat[MAXN][MAXN], sum[MAXN][MAXN]; int main()
{
#ifdef LOCAL
freopen("in", "r", stdin);
#endif
int m, n, x;
while (scanf("%d%d", &m, &n) && (m || n))
{
for (int i = ; i <= m; i++)
for (int j = ; j <= n; j++)
{
scanf("%d", &x);
if (x == ) x = ;
else if (x == ) x = -;
mat[i][j] = x;
}
memset(sum, , sizeof(sum));
for (int i = ; i <= m; i++)
for (int j = ; j <= n; j++)
sum[i][j] = mat[i][j] + sum[i-][j] + sum[i][j-] - sum[i-][j-];
int ans = ;
for (int i = ; i <= m; i++)
for (int j = ; j <= n; j++)
for (int p = i; p <= m; p++)
for (int q = j; q <= n; q++)
{
int t = sum[p][q] - sum[p][j-] - sum[i-][q] + sum[i-][j-];
ans = max(ans, t);
}
printf("%d\n", ans);
}
return ;
}
可是还是WA了两次,一次因为还是用-1000,第二次是因为只是把前面的改成m*n矩阵,后面没改就急着提交了...唉,太粗心,太急躁了
UVa 10074 - Take the Land的更多相关文章
- Uva 10074【递推dp】
UVa 10074 题意:求01矩阵的最大子0矩阵. http://www.csie.ntnu.edu.tw/~u91029/MaximumSubarray.html#2 这里说的很清楚.先求Larg ...
- UVa 10213 - How Many Pieces of Land ?(欧拉公式)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- UVa 12265 - Selling Land
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- UVa 12265 (单调栈) Selling Land
紫书上分析了很多很多,超详细,= ̄ω ̄= 每扫描一行可以计算一个height数组,表示从这块空地向上延伸多少块空地,而且这个数组可以逐行递推. 首先对于每一行来说维护一个单调栈,栈里放的是矩形的左上角 ...
- 【分割圆】Uva 10213 - How Many Pieces of Land ?
一个椭圆上有N个点,将这n个点两两相连,问最多能将这个椭圆分成多少片. 理清思路,慢慢推. 首先我们要想到欧拉公式:V+E-F=2 其中V为图上的顶点数,E为边数,F为平面数. 计算时的可以枚举点,从 ...
- UVa 10213 (欧拉公式+Java大数) How Many Pieces of Land ?
题意: 一块圆形土地,在圆周上选n个点,然后两两连线,问把这块土地分成多少块? 分析: 首先紫书上的公式是错的,不过根据书上提供的思路很容易稍加修改得到正确答案! 然后推公式吧,这里用到平面图的欧拉公 ...
- UVA - 10213 How Many Pieces of Land?(欧拉公式 + 高精度)
圆上有n个点,位置不确定.问这些点两两连接成的线段,最多可以把圆划分成多少块平面? 欧拉公式:V-E+F = 2,V是点数,E是边数,F是面数. 答案是F=C(n,4)+C(n,2)+1,看的别人推的 ...
- UVa 10213 How Many Pieces of Land ? (计算几何+大数)欧拉定理
题意:一块圆形土地,在圆周上选n个点,然后两两连线,问把这块土地分成多少块? 析:这个题用的是欧拉公式,在平面图中,V-E+F=2,其中V是顶点数,E是边数,F是面数.对于这个题只要计算V和E就好. ...
- UVa 10213 How Many Pieces of Land ? (计算几何+大数)
题意:一块圆形土地,在圆周上选n个点,然后两两连线,问把这块土地分成多少块? 析:这个题用的是欧拉公式,在平面图中,V-E+F=2,其中V是顶点数,E是边数,F是面数.对于这个题只要计算V和E就好. ...
随机推荐
- 转:全面剖析C#正则表达式
到目前为止,许多的编程语言和工具都包含对正则表达式的支持,当然.NET也不例外,.NET基础类库中包含有一个名称空间和一系列可以充分发挥规则表达式威力的类. 正则表达式的知识可能是不少 ...
- Ubuntu 14.04 待机死机问题原来是自己改了这个配置
使用专有驱动没问题.使用开源驱动就会死机.驱动还是厂商的好@@
- (三)、Struts第三天
(三).Struts第三天 Struts核心业务: (Struts提供了哪些功能?) 1. 请求数据自动封装(params拦截器) 2. struts数据处理方式 * ActionContext ...
- PPTP-VPN日志功能,记录用户登录时间,流量统计,IP地址等信息
我们先看两个文件 /etc/ppp/ip-up /etc/ppp/ip-down 这两个文件为shell脚本,当PPTP用户连接或者断开时分别执行这两个文件,并且会带相应的参数 这些参数有 $PEER ...
- Eclipse的Java工作集和多工程构建路径
一.Java工作集: Eclipse有一个小功能,就是创建Java Working Set.它的作用是解决Package Explorer窗格中创建很多工程时出现拥挤的麻烦. 在创建(New对话框)时 ...
- c# 如何判断字符串中相同字符串的个数 (相同字符在字符串中出现的次数)
/// <summary> /// 计算字符串中子串出现的次数 /// </summary> /// <param name="str">字符串 ...
- IDL 的读写
read_ifc代码如下: Write_ifc代码分析如下: (1)将数字转换为字符串的函数. function ntoc,a return,string(a,format='(g0)') end ( ...
- JS读RSS
<html> <head> <title>javascript读取RSS数据</title> <META content="t ...
- FZU 2122 又见LKity(KMP+返回所有匹配位置)
基础kmp应用,找到所有匹配位置即可 #include<stdio.h> #include<string.h> #include<algorithm> #inclu ...
- EasyUI知识点
1. easyUI实现动态列,js实现 $('#dg').datagrid({ height: 340, url: '${path}/salary/datas.do', method: 'POST', ...