矩阵压缩降维动态规划递推【P1719 最大加权矩形】
矩阵压缩&降维&动态规划&递推【P1719 最大加权矩形】
题目描述
为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没有马上答应他们,而是先给她们出了一道数学题,并且告诉她们:你们能获得的运动场地的面积就是你们能找到的这个最大的数字。
校长先给他们一个N*N矩阵。要求矩阵中最大加权矩形,即矩阵的每一个元素都有一权值,权值定义在整数集上。从中找一矩形,矩形大小无限制,是其中包含的所有元素的和最大 。矩阵的每个元素属于[-127,127],例如
0 –2 –7 0 9 2 –6 2 -4 1 –4 1 -1 8 0 –2
在左下角:
9 2 -4 1 -1 8
和为15。
几个女孩子有点犯难了,于是就找到了电脑组精打细算的HZH,TZY小朋友帮忙计算,但是遗憾的是他们的答案都不一样,涉及土地的事情我们可不能含糊,你能帮忙计算出校长所给的矩形中加权和最大的矩形吗?
输入格式
第一行:n,接下来是n行n列的矩阵。
输出格式
最大矩形(子矩阵)的和。
输入输出样例
输入 #1
4 0 -2 -7 09 2 -6 2 -4 1 -4 1 -1 8 0 -2
输出 #1
15
说明/提示
n<=120
代码:
package com.sdutcm.tree.fourteen;import java.util.Scanner;public class P1719 {static Scanner sc =new Scanner(System.in);static int n=sc.nextInt();public static void main(String[] args) {int [][] arr= new int[n][n];for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {arr[i][j]=sc.nextInt();}}int max=0;for (int i = 0; i < n; i++) {//for (int j = i+1; j <n; j++) {int f[]=new int[n];for (int k = i; k <=j; k++) {for (int k2 = 0; k2 < n; k2++) {f[k2]+=arr[k][k2];}}max=Math.max(max, get(f));}}System.out.println(max);}
//get函数是得到最大子段和private static int get(int[] f) {int now=0;int max=f[0];for (int i = 0; i < n; i++) {if(now>=0){now+=f[i];}else{now=f[i];} max=Math.max(max, now);}return max;}}
详细他人的讲解:来源:https://www.luogu.com.cn/problem/solution/P1719
求最大字段和
矩阵压缩降维动态规划递推【P1719 最大加权矩形】相关推荐
- P1719 最大加权矩形(二维dp)
P1719 最大加权矩形(二维dp) 原题戳这里 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑 ...
- 洛谷 P1719 最大加权矩形
P1719 最大加权矩形 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她 ...
- P1719 最大加权矩形(二维前缀和Java)
P1719 最大加权矩形 题目链接:https://www.luogu.com.cn/problem/P1719 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为 ...
- 洛谷[P1719 最大加权矩形] {前缀和与差分} 奋斗的珂珂~
洛谷[P1719 最大加权矩形] {前缀和与差分} 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电 ...
- P1541 乌龟棋 题解(洛谷,动态规划递推)
题目:P1541 乌龟棋 感谢大神的题解(他的写的特别好) 写一下我对他的代码的理解吧(哎,蒟蒻就这能这样...) 代码: #include<bits/stdc++.h> #define ...
- P1759 通天之潜水(不详细,勿看)(动态规划递推,组合背包,洛谷)
题目链接:点击进入 题目分析: 简单的组合背包模板题,但是递推的同时要刷新这种情况使用了哪些物品 ac代码: #include<bits/stdc++.h> using namespace ...
- 数塔(hdoj 2084,动态规划递推)
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目 ...
- 338 比特位计数(动态规划-递推)
1. 问题描述: 给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例 1: 输入: 2 输出: [0,1,1] ...
- 一只小蜜蜂(hdoj 2044,动态规划递推)
Problem Description 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数. 其中,蜂房的结构如下所示. Input 输入数据的第一 ...
最新文章
- 关系数据理论中的范式
- java继承的知识点_Java知识点梳理——继承
- ExtJS 的工具条及菜单
- HDU 2899 三分
- Android广播的学习和使用
- Microsoft Project 变更项目日历的注意事项
- 苹果WWDC 2019看点回顾:iOS黑化、iPad系统独立、王者Mac Pro发布...
- 嵌入式工作笔记0007---对讲机嵌入式开发记录---认识对讲机的功能--随时更新
- NRF24L01发送接收调试记录
- 智能语音识别app下载-智能语音识别app安卓版下载v2.2 - 非凡软件站
- pixmap和label设置图片自适应大小
- HTML前端数据管理,前端数据管理
- 差分密码分析读书报告
- 【人脸关键点】——PFLD人脸关键点检测解读
- 360实景地图插件 html,谷歌360全景地图让你足不出户欣赏美景
- Mac电脑网速慢的问题之一(硬件:MTU)
- E2. Divisible Numbers (hard version)
- pdf怎么合并在一起?
- Apifox 学习笔记 - 前置操作
- windows创建计划任务
热门文章
- 西门子S7-1200和人机界面测试
- 移动支付(mobile money)系列 —— Apple Pay的原理
- 计算机一级云居寺,刁常宇-Zhejiang University Personal homepage
- python数据可视化(matplotlib,seaborn,plotly)
- 【今日CV 计算机视觉论文速览 第135期】Mon, 24 Jun 2019
- 高级前端成长训练营|和阿龙一起学前端曝光——走进前端开发世界
- 轻量迅捷时代,Vite 与Webpack 谁赢谁输
- 移动端音乐WebApp
- 在Windows上使用EDA软件——利用WSL安装IC618、SPECTRE181
- wshop微信商城数据库结构简要解析
P1719 最大加权矩形(二维dp) 原题戳这里 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑 ...
P1719 最大加权矩形 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她 ...
P1719 最大加权矩形 题目链接:https://www.luogu.com.cn/problem/P1719 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为 ...
洛谷[P1719 最大加权矩形] {前缀和与差分} 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电 ...
题目:P1541 乌龟棋 感谢大神的题解(他的写的特别好) 写一下我对他的代码的理解吧(哎,蒟蒻就这能这样...) 代码: #include<bits/stdc++.h> #define ...
题目链接:点击进入 题目分析: 简单的组合背包模板题,但是递推的同时要刷新这种情况使用了哪些物品 ac代码: #include<bits/stdc++.h> using namespace ...
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目 ...
1. 问题描述: 给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例 1: 输入: 2 输出: [0,1,1] ...
Problem Description 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数. 其中,蜂房的结构如下所示. Input 输入数据的第一 ...