hdu1505 dp:01矩形中最大面积全0矩阵
被输入坑了233333
另外感觉我这方法好像不太对的样子。。but找不到数据算了ac了==
1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 using namespace std; 5 int up[1005][1005],down[1005][1005],l1[1005][1005],r1[1005][1005],l2[1005][1005],r2[1005][1005]; 6 char s[1005][1005],ss[1005]; 7 int main() 8 { 9 int T,n,m,i,j,maxx,x; 10 scanf("%d",&T); 11 while (T--) 12 { 13 scanf("%d%d",&m,&n); 14 getchar(); 15 for (i=1;i<=m;i++) 16 for (j=1;j<=n;j++){ 17 scanf("%s",&ss); 18 s[i][j]=ss[0]; 19 } 20 maxx=0; 21 memset(up,0,sizeof(up)); 22 memset(down,0,sizeof(down)); 23 for (i=1;i<=m;i++) 24 for (j=1;j<=n;j++) 25 if (s[i][j]=='F') up[i][j]=up[i-1][j]+1; 26 for (i=m;i>=1;i--) 27 for (j=1;j<=n;j++) 28 if (s[i][j]=='F') down[i][j]=down[i+1][j]+1; 29 30 for (i=1;i<=m;i++) 31 { 32 l1[i][1]=1; r1[i][n]=n; 33 for (j=2;j<=n;j++) 34 { 35 x=j; 36 while (x>1&&up[i][x-1]>=up[i][j]) x=l1[i][x-1]; 37 l1[i][j]=x; 38 } 39 for (j=n-1;j>=1;j--) 40 { 41 x=j; 42 while (x<n&&up[i][x+1]>=up[i][j]) x=r1[i][x+1]; 43 r1[i][j]=x; 44 } 45 46 l2[i][1]=1; r2[i][n]=n; 47 for (j=2;j<=n;j++) 48 { 49 x=j; 50 while (x>1&&down[i][x-1]>=down[i][j]) x=l2[i][x-1]; 51 l2[i][j]=x; 52 } 53 for (j=n-1;j>=1;j--) 54 { 55 x=j; 56 while (x<n&&down[i][x+1]>=down[i][j]) x=r2[i][x+1]; 57 r2[i][j]=x; 58 } 59 for (j=1;j<=n;j++) 60 { 61 x=(up[i][j]+down[i][j]-1)*(min(r1[i][j],r2[i][j])-max(l1[i][j],l2[i][j])+1); 62 if (x>maxx) maxx=x; 63 } 64 } 65 printf("%d\n",maxx*3); 66 } 67 }
View Code
转载于:https://www.cnblogs.com/xiao-xin/articles/4066132.html
hdu1505 dp:01矩形中最大面积全0矩阵相关推荐
- TensorFlow 构造对角线为1的其余全0矩阵
import tensorflow as tfbatch_size = 4a = tf.one_hot(tf.range(batch_size), batch_size)sess = tf.Sessi ...
- matlab 全1矩阵,matlab全为1的矩阵
生成一个 m 行 n 列的零矩阵,m=n 时可简写为 zeros(n) 生成一个 m 行 n 列的元素全为 1 的矩阵, m=n 时可写为 ones(n) 生成一个主对角线全为 1 的 m 行 n 列 ...
- 编写一个抽象类Shape,声明计算图形面积的抽象方法。再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法
编写一个抽象类Shape,声明计算图形面积的抽象方法.再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法 ...
- 求四边形最大内接矩形_三角形内接矩形的最大面积问题
龙源期刊网 http://www.qikan.com.cn 三角形内接矩形的最大面积问题 作者:李云虎 来源:<中学教学参考 · 理科版> 2013 年第 01 期 [问题]美佳玩具厂生产 ...
- 【宫水三叶的刷题日记】497. 非重叠矩形中的随机点(中等)
题目描述 这是 LeetCode 上的 497. 非重叠矩形中的随机点 ,难度为 中等. Tag : 「前缀和」.「二分」.「随机化」 给定一个由非重叠的轴对齐矩形的数组 rects,其中 表示 是第 ...
- 数位DP 不断学习中。。。。
1, HDU 2089 不要62 :http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:不能出现4,或者相邻的62, dp[i][0],表示不存在不吉 ...
- 半圆阴影_圆中阴影部分面积求法的常用方法
圆中阴影部分面积求法的常用方法 一.利用规则图形的和差求面积: 例题1.如图.在边长为 4 的正方形ABCD中,先以点 A 为圆心,AD 的长为半径画弧,在以 AB 的中点为圆心,AB 长的一半为半径 ...
- 动态规划套路在最长公共子串、最长公共子序列和01背包问题中的应用
2019独角兽企业重金招聘Python工程师标准>>> 适合动态规划(DP,dynamic programming)方法的最优化问题有两个要素:最优子结构和重叠子问题. 最优子结构指 ...
- java继承类长方形面积_java_java用接口、多态、继承、类计算三角形和矩形周长及面积的方法,本文实例讲述了java用接口、多 - phpStudy...
java用接口.多态.继承.类计算三角形和矩形周长及面积的方法 本文实例讲述了java用接口.多态.继承.类计算三角形和矩形周长及面积的方法.分享给大家供大家参考.具体如下: 定义接口规范: /** ...
- HDU 1864 最大报销额 (dp 01背包)
最大报销额 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
最新文章
- 端口聚合与Trunk综合配置
- python3多进程 pool manager_Python多进程multiprocessing.Pool
- 移除指定 global using 命名空间
- 专家:人工智能开始对现实世界产生重大影响​​
- mysql vs2008,vs2008 使用mysql
- ubuntu18.04安装unity tweak tool
- android:windowSoftInputMode属性使用
- 全景探秘游戏设计艺术(1):游戏设计师
- 数据结构系列,二叉平衡树的构建
- javascript案例32——中文简繁体转换
- linux表示一序列ip,linux 下查看硬件信息(mac,IP地址,硬盘型号,序列号等)
- 自定义/修改微信二维码样式
- 【Java学习笔记1】Java概述 -背景+环境搭建
- c语言读取无压缩的cbl的源代码,c语言基础算法案例
- PyTorch深度学习基础之Reduction归约和自动微分操作讲解及实战(附源码 超详细必看)
- SQUIRREL语言
- 物联网技术融合成为新趋势,LPWAN2.0泛在物联·ZETA生态大会在深圳召开
- gstreamer AV sync
- 更换网站字体详细教程附字体包
- ActivePerl无法打开安装包
热门文章
- 智能优化算法:纵横交叉算法-附代码
- 高密度椒盐噪声的多方向加权均值滤波算法-附代码
- 【Tensorflow】tensorboard小结
- (转载)形态学腐蚀、膨胀——Matlab DIP(瓦)ch9形态学图像处理
- ENVI实验教程(4)实验四、遥感图像预处理—融合、镶嵌、裁剪
- JS学习总结(14)——Events事件
- ARCGIS操作教程学习
- 光学定位与追踪技术_从显微镜到显纳镜:小于2nm定位精度光学显微镜
- 使用ubuntu18搭建nfs分布式文件系统
- kubernetes集群Pod详细信息为Failed create pod sandbox,缺失镜像google_containers/pause-amd64.3.0解决方法