普及练习场 多维动态规划 最大正方形
2018-01-15 16:06
381 查看
题目链接
题意理解
这个题目我做过数据加强版本的,当时是用二分做的,不过好像TLE了。不过这次的数据量来看,是可以直接暴力求解的。当然考虑到这个题目放在了动态规划这个专题里面,那么递推方程还是不复杂的。dp[i][j] 表示当前位置从左方、上方、左上方来看,选[i][j]这个点可以保证的正方形的最大边长。然后每个点往左边,左上方,上方拓展。代码
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static final int maxn = 110; static int N, M; static int[][] a = new int[maxn][maxn]; static int[][] dp = new int[maxn][maxn]; public static void main(String[] args) { FastScanner fs = new FastScanner(); N = fs.nextInt(); M = fs.nextInt(); int max = -1; for(int i = 1; i <= N; i++) { for(int j = 1; j <= M; j++) { a[i][j] = fs.nextInt(); if(a[i][j] > 0) { dp[i][j] = mmin(dp[i-1][j-1], dp[i-1][j], dp[i][j-1]) + 1; } if(dp[i][j] > max) { max = dp[i][j]; } } } System.out.println(max); } public static int mmin(int a, int b, int c) { int t1 = Math.min(a, b); int t2 = Math.min(t1, c); return t2; } public static class FastScanner { private BufferedReader br; private StringTokenizer st; public FastScanner() { br = new BufferedReader(new InputStreamReader(System.in)); } public String nextToken() { while(st == null || !st.hasMoreElements()) { try { st = new StringTokenizer(br.readLine()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return st.nextToken(); } public int nextInt() { return Integer.valueOf(nextToken()); } } }
相关文章推荐
- 普及练习场 多维动态规划 传纸条
- 洛谷 1387——最大正方形(多维动态规划)
- leetcode 221. Maximal Square 最大正方形面积 + 动态规划DP实现
- 最大子正方形 (!) 动态规划
- 【动态规划】[luoguP1387]最大正方形
- 【动态规划】[luoguP1681]最大正方形II
- [USACO5.3]巨大的牛棚Big Barn && 洛谷【p1387】最大正方形(动态规划)
- 普及练习场 线性数据结构 最大子段和
- 普及练习场 动态规划的背包问题 开心的金明
- 普及练习场 动态规划的背包问题 小A点菜
- 普及练习场 动态规划的背包问题 金明的预算方案
- 普及练习场 多维动态规划 Likecloud-吃、吃、吃
- 【动态规划】【记忆化搜索】1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组
- HDU 1087 Super Jumping! Jumping! Jumping![动态规划——最大递增子序列]
- //hdu 1231 最大连续子序列 (动态规划)
- nyoj104最大和--中等难度--动态规划
- NYOJ - 814 - 又见拦截导弹(动态规划--最大单调递增子序列变形)
- 求不相邻金币相加和的最大值--动态规划1
- 【动态规划】【单调队列】tyvj1305 最大子序和
- 边界都是1的最大正方形大小