摘要: 题意:给你一个N×N的矩阵,求最大的子矩阵 满足子矩阵中最大值和最小值之差小于等于m. 思路:这题是求满足条件的最大子矩阵,毫无疑问要遍历所有矩阵,并判断矩阵是某满足这个条件,那么我们大致只要解决两个问题就能搞定这题 (1)如何遍历所有矩阵 (2)如何判断此矩阵满足条件 我们先来看(2) 题目中说的 阅读全文
posted @ 2019-07-26 20:23 sparkyen 阅读(212) 评论(0) 推荐(1) 编辑
摘要: 最近打了三场比赛疯狂碰到单调栈和单调队列的题目,第一,二两场每场各一个单调栈,第三场就碰到单调队列了。于是乎就查各种博客,找单调栈,单调队列的模板题去做,搞着搞着发现其实这两个其实是一回事,只不过利用了容器内元素单调的不同特性,用来加速处理不同的问题。 单调栈解决的是以某个值为最小(最大)值的最大区 阅读全文
posted @ 2019-07-26 17:11 sparkyen 阅读(210) 评论(0) 推荐(1) 编辑
摘要: 思路:用单调队列分别维护行与列。 具体实现方法:是先用单调队列对每一行的值维护,并将a[][]每个区间的最大值,最小值分别存在X[][]和x[][]中。 那么X[][]与x[][]所存储的分别是1×n的长方形内的最大值,最小值。X[i][j]存储第i行第j~j+n-1列的长方形中的最大值。同理,x[ 阅读全文
posted @ 2019-07-26 13:27 sparkyen 阅读(219) 评论(0) 推荐(1) 编辑
摘要: 我们从最简单的问题开始: 给定一个长度为N的整数数列a(i),i=0,1,...,N-1和窗长度k. 要求: f(i) = max{ a(i-k+1),a(i-k+2),..., a(i) },i = 0,1,...,N-1 问题的另一种描述就是用一个长度为k的窗在整数数列上移动,求窗里面所包含的数 阅读全文
posted @ 2019-07-26 11:11 sparkyen 阅读(278) 评论(0) 推荐(1) 编辑