P1736 创意吃鱼法 /// DP
2024-10-07 22:49:50
题目大意:
https://www.luogu.org/problemnew/show/P1736
dplr[][] 当前点左边(副对角线时为右边)有多少个连续的0
dpup[][] 当前点上边有多少个连续的0
dp[][] 当前点左上有多少个连续的符合要求的1
主对角线时 dp[ i ][ j ]=min(dp[ i-1 ][ j-1 ],min(dplr[ i ][ j-1 ],dpup[ i-1 ][ j ]))+1;
如
原数组 dplr[][] dpup[][] dp[][]
1 0 0 0 1 2 0 1 1 1 0 0
0 1 0 1 0 1 1 0 2 0 2 0
1 0 1 0 1 0 0 1 0 1 0 2
首先 对于一个正方形矩阵来说 其边长上鱼的个数和对角线上鱼的个数是相等的
所以 dp[ i ][ j ] 在 dp[ i-1 ][ j-1 ]、dplr[ i ][ j-1 ]、dp[ i-1 ][ j ] 中取小
相当于查看其 左上的 [i-1][j-1]子矩阵、第i行当前点以左、第j列当前点以上 符合要求的长度
#include <bits/stdc++.h>
using namespace std;
int n,m,a[][],dp[][];
int dplr[][],dpup[][];
int main()
{
while(~scanf("%d%d",&n,&m)) {
int ans=; memset(dp,,sizeof(dp));
memset(dplr,,sizeof(dplr));
memset(dpup,,sizeof(dpup));
for(int i=;i<=n;i++)
for(int j=;j<=m;j++) { /// 主对角线
scanf("%d",&a[i][j]); if(a[i][j])
dp[i][j]=min(dp[i-][j-],min(dplr[i][j-],dpup[i-][j]))+;
else {
dplr[i][j]=dplr[i][j-]+;
dpup[i][j]=dpup[i-][j]+;
} ans=max(ans,dp[i][j]);
} memset(dp,,sizeof(dp));
memset(dplr,,sizeof(dplr));
memset(dpup,,sizeof(dpup));
for(int i=;i<=n;i++)
for(int j=m;j>=;j--) { /// 副对角线
if(a[i][j])
dp[i][j]=min(dp[i-][j+],min(dplr[i][j+],dpup[i-][j]))+;
else {
dplr[i][j]=dplr[i][j+]+;
dpup[i][j]=dpup[i-][j]+;
} ans=max(ans,dp[i][j]);
} printf("%d\n",ans);
} return ;
}
最新文章
- 编写轻量ajax组件02-AjaxPro浅析
- java:警告:[unchecked] 对作为普通类型 java.util.HashMap 的成员的put(K,V) 的调用未经检查
- 微信";流量红包";的玩法攻略 广东移动用户有福啦
- 无题 MVC
- C#-ado.net-属性扩展
- python标准模块(二)
- 正在使用MJRefresh &; MJExtension的App
- 高点击率的Banner设计14招
- elasticsearch中的mapping映射配置与查询典型案例
- cf446C DZY Loves Fibonacci Numbers
- spring+hibernate删除单条记录的几种方法
- Xen创建新虚拟机
- CAS5.3.X 配置备忘
- Solr全文检索
- Oracle SQL——varchar2() 和 char()关联查询 存在空格
- Eclipse代码自动补全
- asp.net mvc session锁问题 (转载)
- 解决3 字节的 UTF-8 序列的字节 3 无效
- gitlab 配置 ssh key
- asp.net mvc webconfig配置文件操作
热门文章
- BASS HOME
- CSS盒模型及应用
- NX二次开发-UFUN体找边UF_MODL_ask_body_edges
- NX二次开发-获得制图中对象的坐标点UF_DRF_ask_origin
- hdu4352-XHXJ&#39;s LIS状压DP+数位DP
- Spring-Security (学习记录一)--登录
- git 安装 使用过程遇到的问题
- 20140403 opencv GPU安装
- 20140321 sizeof 虚函数与虚函数表 静态数组空间 动态数组空间 位字段
- 在html页面引用css文件的方法