标签:解决方案 数据规模 min 参考 java 技术 imp code out
目录
代码参考自文末参考资料,同样思想的Java版本运行超时。具体思想讲解请见文末参考资料。
具体代码如下:
import java.util.Scanner; public class Main { public static int n, m; public static long[][] map; public static long result = Long.MIN_VALUE; public static void main(String[] args) { Scanner in = new Scanner(System.in); n = in.nextInt(); m = in.nextInt(); map = new long[n][m]; for(int i = 0;i < n;i++) for(int j = 0;j < m;j++) map[i][j] = in.nextLong(); for(int start = 0;start < n;start++) { //开始行 long[] ring = new long[m]; long[] dp = new long[m]; for(int end = start;end < n;end++) { //结束行 for(int j = 0;j < m;j++) //计算start~end行的每一列元素和 ring[j] += map[end][j]; result = Math.max(result, ring[0]); dp[0] = ring[0]; for(int j = 1;j < m;j++) { if(dp[j - 1] < 0) dp[j] = ring[j]; else dp[j] = dp[j - 1] + ring[j]; result = Math.max(result, dp[j]); } } } System.out.println(result); } }
参考资料:
标签:解决方案 数据规模 min 参考 java 技术 imp code out
原文地址:http://www.cnblogs.com/liuzhen1995/p/6808416.html