|Vijos|动态规划|P1057 盖房子
来源:互联网 发布:网络电视如何连接wifi 编辑:程序博客网 时间:2024/05/16 23:51
https://vijos.org/p/1057
设f[i][j]为以i,j为正方形右下顶点的最大边长
不难得出初始值 f[i][j] = a[i][j] ,a为输入数组
则有状态转移方程 f[i][j] = min(f[i-1][j], f[i-1][j-1], f[i][j-1]);
因为f[i][j]只能从这些点得出
#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#include<cstdlib>#define ms(i,j) memset(i,j,sizeof(i));using namespace std;/*设f[i][j]为以i,j为正方形右下顶点的最大边长不难得出初始值 f[i][j] = a[i][j] ,a为输入数组则有状态转移方程 f[i][j] = min(f[i-1][j], f[i-1][j-1], f[i][j-1]);因为f[i][j]只能从这些点得出 */int f[1005][1005];int a[1005][1005];int main(){int n,m;scanf("%d%d", &n, &m);for (int i=0;i<n;i++)for (int j=0;j<m;j++){scanf("%d", &a[i][j]);f[i][j] = a[i][j];}int ans = -10;//有可能会整幅图都是瑕疵 for (int i=0;i<n;i++)for (int j=0;j<m;j++)if (a[i][j]==1){f[i][j] = min(min(f[i-1][j], f[i][j-1]), f[i-1][j-1])+1;ans = max(f[i][j], ans);}printf("%d\n", ans); return 0;}
0 0
- 【动态规划】 Vijos P1057 盖房子
- |Vijos|动态规划|P1057 盖房子
- P1057 盖房子
- vijos 1057 盖房子
- vijos-p1057 2008.11.6
- Vijos[1982]NOIP2015Day2T2 子串 substring 动态规划
- 盖房子
- 盖房子
- 盖房子
- |Tyvj|NOIP2006|动态规划|P1057 金明的预算方案
- Vijos P1104 采药 动态规划
- vijos积木城堡动态规划
- 【动态规划】Vijos P1680 距离
- Vijos 1193 扫雷 【动态规划】
- 【动态规划】【二分】【最长上升子序列】Vijos P1028 魔族密码
- 【动态规划】【最长公共子序列】Vijos P1111 小胖的水果
- Vijos P1850 小朋友的数字(动态规划,最大子段和)
- JS小游戏 - 盖房子
- PathInTree
- window平台如何搭建Mysql集群
- 一个操作系统的实现--内存管理中32位和64位的问题
- Opencv环境配置一遍就够了!!(.props避免身体被掏空,适用于其他需要配置各种目录的项目)
- 基于Java的毕业设计管理系统
- |Vijos|动态规划|P1057 盖房子
- PGM文件读写
- CSS3动画 @keyframes
- HDOJ 3790 最短路径问题(双权值最短路)
- allegro中dynamic shape is still out of date or empty解决方法
- TortoiseSVN中图标的含义
- 加速度与加速计(UIAcceleration类,UIAccelerometer类及UIAccelerometerDelegate委托)
- 英语总结系列(二十):八月有些小惊喜
- python脚本执行shell命令或脚本