摘要: 出处:http://hi.baidu.com/song_renchu/item/cba7b32997034a0c43634ac4最大子图形问题详解宋壬初最大子图形问题包括最大子正方形、最大子矩形、最大子三角形、最大子菱形等。这些问题可以用动态规划来解决。通过最大子图形问题,我们充分掌握了动态规划的核心思想,即同一的子问题只算一次。同时培养了对于图形的敏锐的观察力。子问题1:连续的1给定一个01串,求其中最长的连续1子串的长度。比如,对于串00101110110,最长连续1子串的长度是3。它由第5到7个字符组成。怎么解决呢?我们用一个数组a[1..n]来记录这个01串,然后,我们用一个数组f[0 阅读全文
posted @ 2013-06-12 19:11 海拉鲁的林克 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 先上题目 输入一个n表示有一个n*n的矩阵,然后输入矩阵的内容,"H"代表0,"."代表1,求出最大的填满1的正方形的面积。 这是一道dp。 定义一个数组s[][]代表以(1,1)和(i,j)为对角线的矩形中全为1的的矩形的边长。 再定义一个数组row[][]代表(i,0)-(i,j)连续的1最长的长度; 再定义一个数组col[][]代表(0,j)-(i,j)连续的1最长的长度; 则 if((i,j)==0) row[i][j]=col[i][j]=0; else { row[i][j]=row[i][j-1]+1; col[i][j]=col[i-1. 阅读全文
posted @ 2013-06-12 19:07 海拉鲁的林克 阅读(1841) 评论(0) 推荐(0) 编辑