题目的意思是给一个01的字符串数组,让你去求解满足棋盘条件的最大棋盘棋盘的条件是: 相邻元素的值不能相同此题有点像求全1的最大子矩阵,当时求全1的最大子矩阵是用直方图求解的本题可以利用直方图求解首先找到子矩阵的两个顶点坐标(x0,y0),(x1,y1)我们能遍历开始和结束列,y0=i, y1=j,....
分类:
其他好文 时间:
2014-06-26 18:03:24
阅读次数:
232
Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area.时间复杂度O(n^3),最大全1子矩阵,利用直方图求解,可以参考对...
分类:
其他好文 时间:
2014-06-26 15:08:46
阅读次数:
164
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1057题意:给出一个只包含01的矩阵。找出一个01相间的最大的正方形子矩阵?找出一个01相间的最大的长方形子矩阵?思路:一行一行扫描,对于某一行,记录每列 向上延伸的最大长度,记为h。然后再...
分类:
其他好文 时间:
2014-06-23 07:12:53
阅读次数:
280
一般来说,树状数组可以实现的东西线段树均可胜任,实际应用中也是如此。但是在二维中,线段树的操作变得太过复杂,更新子矩阵时第一维的lazy标记更是麻烦到不行。
但是树状数组在某些询问中又无法胜任,如最值等不符合区间减法的询问。此时就需要根据线段树与树状数组的优缺点来选择了。
做一下基本操作的对比,如下图。
因为线段树为自上向下更新,从而可以使用lazy标记使得矩阵的更新变的高校起来,几个不...
分类:
其他好文 时间:
2014-06-18 06:11:05
阅读次数:
326
Description
这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵不能相互重叠。
Input
第一行为n,m,k(1≤n≤100,1≤m≤2,1≤k≤10),接下来n行描述矩阵每行中的每个元素的分值(每个元素的分值的绝对值不超过32767)。
Output
只有一行为k个子矩阵分值之和最大为多少。
Sa...
分类:
其他好文 时间:
2014-06-11 00:13:54
阅读次数:
192
题目来源:POJ 2155 Matrix
题意:开始矩阵都是0 2种操作 把某个子矩阵翻转 0变1 1变0 查询x y 是0还是1
思路:树状数组 记录翻转次数就行 奇数次是1 偶数次是0
这题是区间更新 点查询 向上求和 向下更新 而且是二维的
#include
#include
using namespace std;
const int maxn = 1300;
i...
分类:
其他好文 时间:
2014-06-05 01:59:00
阅读次数:
287
12508 - Triangles in the Grid
题目链接
题意:给定一个n?m格子的矩阵,然后给定A,B,问能找到几个面积在A到B之间的三角形。
思路:枚举每一个子矩阵,然后求[0,A]的个数减去[0,B]的个数就是答案,然后对于每个子矩阵个数很好求为(n?r+1)?(m?c+1)。关键在于怎么求每个子矩阵的符合个数。
想了好久,参考别人题解才想出来,分3种情况...
分类:
其他好文 时间:
2014-06-05 01:09:44
阅读次数:
248
Description这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵不能相互重叠。Input第一行为n,m,k(1≤n≤100,1≤m≤2,1≤k≤10),接下来n行描述矩阵每行中的每个元素的分值(每个元素的分值的绝对值不超过32767)。Ou...
分类:
其他好文 时间:
2014-06-04 16:57:55
阅读次数:
178
算法入门经典训练指南88页练习::这道题只要把原矩阵扩大4倍,那么其跟最大子矩阵的题目就很类似,把二维转化成一维,求最大的序列和,不过这个序列的长度不能超过n。长度不能超过n?
那这道题又跟hdu 3415HDU 3415 Max Sum of Max-K-sub-sequence (单调队列) 1...
分类:
其他好文 时间:
2014-05-30 18:14:46
阅读次数:
471
strassen算法可以看做是分治递归法求解矩阵乘法的改进。
利用分治递归法求解矩阵乘法的过程大致:
矩阵C = A * B(A、B、C都是n x n矩阵)
可以发现(A11 * B11)、(A12 * B21)……等子矩阵的乘法运算需要继续递归。上面有8个乘法,所以需要递归8次。
时间复杂度关系公式 T(n) = 8T(n/2) + O(n^2),这里8T(n/2)是8次递归...
分类:
其他好文 时间:
2014-05-01 08:43:52
阅读次数:
549