原题地址:D. Sonya and Matrix 题目大意 称一个$n*m$的矩阵,里面恰好只有一个$0$,且其他所有位置上的值恰好等于此位置到$0$点曼哈顿距离的矩阵为菱形矩阵.现在给出一个无序的长度为$t$的数组,构造一个菱形矩阵,所有元素恰好使用一次,或输出无解. 思路 这个构造一上手都没什么 ...
分类:
其他好文 时间:
2021-02-08 12:19:48
阅读次数:
0
题目链接:http://poj.org/problem?id=1050 和序列中无长度限制的最大子段和相同,如果当前的sum>0,那么它还有一定的价值,所以继续往上累加;如果当前sum<0,即sum不仅没有价值,反而会使后面的和更小,所以将sum重置为0为最优。 矩阵中维护每一列上的前缀和,枚举所选 ...
分类:
其他好文 时间:
2020-09-17 23:21:37
阅读次数:
35
给定一个矩阵,要求找出矩阵内部不大于k的最大矩阵和。如果枚举每个矩阵,并计算其和,必定会超时。我最开始想的是暴力+动态规划,用dp[i][j]表示以(0,0)为左上角,以(i,j)为右下角的矩阵的和,这样子省去了重复计算矩阵和的时间,虽然能通过,但是时间复杂度还是到了O(m2n2),不是很好,优点就 ...
分类:
其他好文 时间:
2020-05-07 19:29:22
阅读次数:
58
给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例: ...
分类:
编程语言 时间:
2019-04-21 00:19:40
阅读次数:
211
题面 $solution:$ 这一题其实就是一个非常明显的三维背包问题(但博主太弱了就10分QAQ) $F[i][j][k]:$表示走到$(i,j)$这个位置并且背包容量为 $k$ 时的最大价值。因为转移时只能向下或向右转移,所以我们可以按行$DP$(从上到下,从左到右遍历),进行滚动数组,从而把第 ...
分类:
其他好文 时间:
2019-01-28 10:45:15
阅读次数:
150
作用:O(n^2)用来解决最大矩阵和问题 思路:对于 m*n 矩阵中的任意一点,覆盖这个点的最大矩形的面积为,该点向左右最大能延伸的长度之和与向上最大能延伸的长度的乘积。 描述:首先 O(n^2) 预处理,对于矩阵上的每一个点,我们可以: 1.从它向上引一条悬线,遇到边界或障碍点停止,h[i][j] ...
分类:
其他好文 时间:
2018-09-21 23:07:40
阅读次数:
228
#include #include #include using namespace std; const int maxn=1000+10; bool tu[maxn][maxn]; int h[maxn][maxn],l[maxn],r[maxn]; int main(){ int n,k,m;... ...
分类:
其他好文 时间:
2018-05-15 19:34:37
阅读次数:
176
Given a non-empty 2D matrix matrix and an integer k, find the max sum of a rectangle in the matrix such that its sum is no larger than k.Example:Given ...
分类:
其他好文 时间:
2018-04-15 16:27:49
阅读次数:
188
题目:https://cn.vjudge.net/problem/HihoCoder-1634 题意:给你一个矩阵,可以修改其中一个值为p,让你求最大子矩阵的最小值 我们可以暴力枚举每个点是否修改 当这个点不在最大矩阵内时,一定是它的上下左右的最大子矩阵大 当这个点在最大矩阵内时,可以直接判断 ...
分类:
其他好文 时间:
2018-04-06 18:39:50
阅读次数:
197
题目:http://poj.org/problem?id=1050 s[i][j]数组记录以点(i,j)为右下角、(1,1)为左上角的子矩阵内部和; 枚举子矩阵左上角和右下角,取最大值即可。 代码如下: ...
分类:
其他好文 时间:
2018-02-21 23:04:15
阅读次数:
221