【动态规划】 Vijos P1057 盖房子
来源:互联网 发布:ai软件是什么意思 编辑:程序博客网 时间:2024/04/27 23:54
关键就是那个状态转移方程,枚举正方形最右下角的坐标,取最大值即可。
为了节省内存,采取了两个一位数组来回颠倒的方法,其实也是因为直接开[1001][1001]的int数组总是返回runtime error。。。
题目连接:https://vijos.org/problems/P1057
#include<iostream>#include<algorithm>#include<string.h>#define MAX 1001using namespace std; int main(){ int n,m; int goal=-1; int area[2][MAX]; memset(area,0,sizeof(area)); bool field; cin>>n>>m; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ cin>>field; if(field==false) area[1][j]=0; else if(i==0 || j==0) area[1][j]=1; else area[1][j]=min(area[0][j-1],min(area[0][j],area[1][j-1]))+1; goal=max(area[1][j],goal); } for(int k=0;k<m;k++) area[0][k]=area[1][k]; } cout<<goal<<endl; return 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小游戏 - 盖房子
- 牛逼装逼傻逼
- request的有效跳数
- DOM脚本编程基本原则和良好习惯
- Port SDL/TinySDGL to android with native C
- 《C语言参悟之旅》-读书笔记(五)
- 【动态规划】 Vijos P1057 盖房子
- 尺度空间方法
- 2012总结
- Spring IoC2
- WindowDemo
- Ubuntu 12.04中文输入法的安装
- i++不能为左值的原因
- 关于二值化函数cvAdaptiveThreshold和cvThreshold以及OSTU
- How to: Install Visual Studio 2012 Update 1 Offline