题目链接:https://www.luogu.org/problemnew/show/P1169

#include<bits/stdc++.h>
#define fi first
#define se second
#define INF 0x3f3f3f3f
#define fio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
#define pqueue priority_queue
#define NEW(a,b) memset(a,b,sizeof(a))
const double pi=4.0*atan(1.0);
const double e=exp(1.0);
const int maxn=1e6+8;
typedef long long LL;
typedef unsigned long long ULL;
const LL mod=1e9+7;
const ULL base=1e7+7;
using namespace std;
int a[2008][2008];
int l[2008][2008],r[2008][2008],u[2008][2008];
int main(){int n,m;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){scanf("%d",&a[i][j]);}l[i][1]=1;r[i][m]=m;for(int j=2;j<=m;j++){if(a[i][j]!=a[i][j-1]){l[i][j]=l[i][j-1];}else{l[i][j]=j;}}for(int j=m-1;j>=1;j--){if(a[i][j]!=a[i][j+1]){r[i][j]=r[i][j+1];}else{r[i][j]=j;}}}int maxa=0,maxb=0;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(i>1&&a[i][j]!=a[i-1][j]){u[i][j]=u[i-1][j]+1;l[i][j]=max(l[i][j],l[i-1][j]);r[i][j]=min(r[i][j],r[i-1][j]);}else{u[i][j]=1;}maxa=max(maxa,(r[i][j]-l[i][j]+1)*u[i][j]);maxb=max(maxb,min(r[i][j]-l[i][j]+1,u[i][j])*min(r[i][j]-l[i][j]+1,u[i][j]));}}cout<<maxb<<endl<<maxa<<endl;
}

转载于:https://www.cnblogs.com/Profish/p/9739229.html

洛谷P1169 棋盘制作(悬线法)相关推荐

  1. 洛谷-P1169 棋盘制作(悬线法)

    国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个 8 × 8 8×8 8×8大小的黑白相间的方阵,对应八八六十四卦,黑白对应阴阳 ...

  2. 【BZOJ-30391057】玉蟾宫棋盘制作 悬线法

    3039: 玉蟾宫 Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 753  Solved: 444 [Submit][Status][Discuss] ...

  3. [ZJOI2007]棋盘制作 悬线法dp 求限制下的最大子矩阵

    https://www.luogu.org/problemnew/show/P1169 第一次听说到这种dp的名称叫做悬线法,听起来好厉害 题意是求一个矩阵内的最大01交错子矩阵,开始想的是dp[20 ...

  4. P1169 [ZJOI2007]棋盘制作(悬线法)

    题目描述 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个8 \times 88×8大小的黑白相间的方阵,对应八八六十四卦,黑白 ...

  5. P1169 [ZJOI2007]棋盘制作 DP悬线法

    题目描述 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个8 \times 88×8大小的黑白相间的方阵,对应八八六十四卦,黑白 ...

  6. [ZJOI2007] 棋盘制作(单调栈 / DP悬线法)

    problem 洛谷链接 solution1-单调栈 很容易想到,预处理出每个点向上最大能延伸的长度,然后对每个点求一个矩阵面积. 然后思考优化,不难想到每次对一行进行求解. 每一行的所有列一起构成了 ...

  7. bzoj 1057: 棋盘制作(悬线法)

    1057: [ZJOI2007]棋盘制作 Time Limit: 20 Sec  Memory Limit: 162 MB Submit: 2311  Solved: 1146 [Submit][St ...

  8. 【BZOJ1057】【codevs1428】棋盘制作,悬线法

    传送门1 传送门2 思路: 比较简单的悬线法 相关资料自行百度 看一会就能明白的 反正这个就是模板题啦(敲桌) 虽然说好不发水题了,但这次发上来也就是给大家也给自己当个板子使-- 代码: #inclu ...

  9. 洛谷 P4147 玉蟾宫【悬线法/单调栈】

    题目背景 有一天,小猫 rainbow 和 freda 来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. 题目描述 这片土地被分成 N×MN\times MN×M ...

最新文章

  1. java map 内存_java 使用对象和Map保存字符串占用存储空间对比
  2. 基于OpenSSL安全会话的实现
  3. win10系统下安装mysql
  4. Android中shape的解析
  5. notesDocument类的HTTP URL属性 和note URL属性的区别
  6. scipy 安装错误及解决
  7. matlab绘制爱心
  8. 绘图板应用讲解计算机,电脑绘图板怎么用?基础电脑绘图板入门教程!
  9. maven 命令下载jar包(mvn命令根据依赖下载jar包)
  10. matlab的1stopt,用1stOpt解出非线性方程组的解作为初值用Matlab求解,解不出来
  11. C语言学习有感day01
  12. SQL 筛选某一时间大于某一个值的数据及数量
  13. [Java8新特性]Collectors源码阅读-2 reducing,maxBy,summingInt等
  14. 京东API item_search - 按关键字搜索商品
  15. Android开发:登录/注册界面的编写
  16. 论文笔记——News Recommendation with Topic-Enriched Knowledge Graphs
  17. javascript案例16——判断输入的年份是否是闰年、判断闰年
  18. 红黑树详解及其模板类实现
  19. Google如何在新标签打开页面打开链接?
  20. solr DIH 设置定时索引

热门文章

  1. Android 框架炼成 教你怎样写组件间通信框架EventBus
  2. U-boot中常用参数设定及常用宏的解释和说明
  3. lftp 4.4.0 发布,命令行的FTP工具
  4. 我也能做CTO之程序员职业规划
  5. Cisco实物图片库2
  6. 虚拟机 克隆:完整克隆 模式
  7. 调试coffee script 的一个技巧
  8. 二叉树的5种遍历方式
  9. 2018上C语言程序设计(高级)作业-第1次作业
  10. 关于Unity调用摄像头扫描二维码与生成二维码的实现方法