New Land LightOJ - 1424

题意:找出01矩阵中最大的完全由0组成的矩阵。

方法:

重点在于转化。

先预处理(i,j)点向上最长能取到的连续的全0条的长度。然后枚举某一行作为矩阵的最下面一行,就可以把题目转化为LOJ-1083。用那道题的任意一种方法做即可。

 #include<cstdio>
#include<algorithm>
using namespace std;
int a[][],s1[][],left[],right[];
int ans,TT,T,m,n;
int main()
{
int i,j;
scanf("%d",&T);
for(TT=;TT<=T;TT++)
{
ans=;
scanf("%d%d",&m,&n);
for(i=;i<=m;i++)
for(j=;j<=n;j++)
scanf("%1d",&a[i][j]);
for(i=;i<=m;i++)
for(j=;j<=n;j++)
if(a[i][j]==)
s1[i][j]=;
else
s1[i][j]=s1[i-][j]+;
for(i=;i<=m;i++)
{
for(j=;j<=n;j++)
{
left[j]=j;
while(left[j]>&&s1[i][left[j]-]>=s1[i][j]) left[j]=left[left[j]-];
}
for(j=n;j>=;j--)
{
right[j]=j;
while(right[j]<n&&s1[i][right[j]+]>=s1[i][j]) right[j]=right[right[j]+];
}
for(j=;j<=n;j++)
ans=max(ans,s1[i][j]*(right[j]-left[j]+));
}
printf("Case %d: %d\n",TT,ans);
}
return ;
}

New Land LightOJ - 1424的更多相关文章

  1. 区间DP LightOJ 1422 Halloween Costumes

    http://lightoj.com/volume_showproblem.php?problem=1422 做的第一道区间DP的题目,试水. 参考解题报告: http://www.cnblogs.c ...

  2. LightOj 1298 - One Theorem, One Year(DP + 欧拉)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1298 题意:给你两个数 n, p,表示一个数是由前 k 个素数组成的,共有 n 个素数 ...

  3. 1214 - Large Division -- LightOj(大数取余)

    http://lightoj.com/volume_showproblem.php?problem=1214 这就是一道简单的大数取余. 还想还用到了同余定理: 所谓的同余,顾名思义,就是许多的数被一 ...

  4. LightOJ Beginners Problems 部分题解

    相关代码请戳 https://coding.net/u/tiny656/p/LightOJ/git 1006 Hex-a-bonacci. 用数组模拟记录结果,注意取模 1008 Fibsieve's ...

  5. LightOJ 1341 唯一分解定理

    Aladdin and the Flying Carpet Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%lld &a ...

  6. lightoj 1370 欧拉函数

    A - Bi-shoe and Phi-shoe Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & % ...

  7. lightoj 1074 spfa判断负环

     Extended Traffic Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Sub ...

  8. POJ 1365 Prime Land(数论)

    题目链接: 传送门 Prime Land Time Limit: 1000MS     Memory Limit: 10000K Description Everybody in the Prime ...

  9. lightoj.1048.Conquering Keokradong(二分 + 贪心)

    Conquering Keokradong Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu ...

随机推荐

  1. mips-openwrt-linux-gcc test_usbsw.c -o usbsw 编译问题

      mips-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined mips-openwrt-linux ...

  2. coco2d-x 3.0游戏实例学习笔记 《跑酷》 第二步---游戏界面&amp;全新的3.0物理世界

    说明:这里是借鉴:晓风残月前辈的博客,他是将泰然网的跑酷教程.用cocos2d-x 2.X 版本号重写的,眼下我正在学习cocos2d-X3.0 于是就用cocos2d-X 3.0重写.并做相关笔记 ...

  3. Mac版的idea部分按钮失效的解决方案

    问题描述:调整了一下idea中jdk的路径,之后idea就无法打开新项目了,最好发现idea中的顶部菜单全部失效 解决过程: 1.把idea的jdk的路径调回去,无效 2.重启idea,无效 3.重启 ...

  4. CentOS笔记-磁盘管理

    Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分区 df [-ahikHTm] [目录或文件名] -a : ...

  5. Mongoose Embedded Web Server Library

    https://github.com/cesanta/mongoose http://ltp.ai/docs/ltpserver.html LTP Server在轻量级服务器程序mongoose基础上 ...

  6. MySQL table

    -- 使用数据库hr use hr; -- 在数据库中创建表-- ------------------------------------JOBS表-------------------------- ...

  7. js中return的作用

    1.终止函数的继续运行. 当遇到if…… else是.若出现return,就会出现终止运行,不会继续做出判断 <html> <head> <title>return ...

  8. POJ3111 K Best —— 01分数规划 二分法

    题目链接:http://poj.org/problem?id=3111 K Best Time Limit: 8000MS   Memory Limit: 65536K Total Submissio ...

  9. cf 620C Pearls in a Row(贪心)

    d.有一串数字,要把这些数字分成若干连续的段,每段必须至少包含2个相同的数字,怎么分才能分的段数最多? 比如 是1 2 1 3 1 2 1 那么 答案是 21 34 7 即最多分在2段,第一段是1~3 ...

  10. javascript之常遇到的浏览器兼容问题和解决方法

    转自http://www.cnblogs.com/duenyang/p/6066737.html 常遇到的关于浏览器的宽高问题: var winW=document.body.clientWidth| ...