摘要: 题目本身不难 但是要用滚动数组,否则10000*10000的integer会爆128M考虑记sqrr[i,j] 为以[i,j]为右下角向左上扩展的正方形的最大值,up[i,j]为以[i,j]为最后一格能向上扩展的最大值,left[i,j]同理则sqrr[i,j]=min(sqrr[i-1,j-1]+1,up[i,j],left[i,j]);可以看到第i行状态只与i-1行有关【NOTICE】 j要downto,否则会覆盖前一行数据边界:对第一行,如果a[i,j]可行则(sqrr[j]=1,left[j]=left[j-1]+1,up[j]=1)否则均为0由于算min值要用到当前行的up,left 阅读全文
posted @ 2013-09-23 12:38 OmegaIota 阅读(201) 评论(0) 推荐(1) 编辑