二维DP 建房子
摘要:
题目要求: 求最大正方形边长: 输入a[][];为1则可以建房,为0则不可建房,求可以建房的最大正方形边长。 子问题:dp[i][j] 表示以a[i][j]为左上角的正方形的最大边长。 Dp[i][j]=min{dp[i-1][j], dp[i][j-1], dp[i-1][j-1]}+1可以从最尾端开始。 最后的答案为dp[][]中的最大值。代码实现:View Code 1 #include<iostream> 2 using namespace std; 3 int dp[100][100]; //dp[i][j] means start by a[i][j],the la.. 阅读全文
posted @ 2012-09-05 21:52 yumao 阅读(321) 评论(0) 推荐(0) 编辑