随笔分类 - (单调)栈&(单调)队列
摘要:题目链接 *题意:t个队伍,每个队伍有n个人,两种操作:入队某个元素,出队。输出出队元素。 入队规则:如果该元素所在的队物在队列中,则插入该队伍最后,如果不存在,则插在所有队伍最后。 #include<bits/stdc++.h> using namespace std ; const int N
阅读全文
摘要:https://codeforces.com/contest/1313/problem/C2 题意:给出一组数,使这组数满足任意ai不存在j<i<k,a[j] > a[i] < a[k],求满足该条件的这组数和的最大值? 解法:单调递增栈,扩展出以每个数为最小值的左右区间,同时dp可以算出1-i左区
阅读全文
摘要:http://poj.org/problem?id=2823 题意:给出n个数,窗口大小为k,窗口从1滑到n-k,问所以窗口内的最大最小值; #include <iostream> using namespace std; int a[1001000] , q[1001000] ; int h ,
阅读全文
摘要:https://nanti.jisuanke.com/t/42391 题意:给出两个排列矩阵,问最大相同子矩阵的元素数量。 解法:标记位置,预处理向下扩展和向右扩展。 //#include<bits/stdc++.h> #include <cstdio> #include <cstring> #in
阅读全文
摘要:http://poj.org/problem?id=3494 题意:给出一个01矩阵,问最大的全为1的子矩阵。 解法:将预处理后,将每一列(行)看成一维单调栈。 //#include<bits/stdc++.h> #include<iostream> #include<stdio.h> #inclu
阅读全文
摘要:http://poj.org/problem?id=2796 题意:给出一个序列,求出一个子序列,使得这个序列中的最小值乘以这个序列的和的值最大。 解法:单调递增栈:每一个元素进栈前将元素剔除的过程是该元素在向左扩展,每一个元素在站内被某一元素剔除的过程为该元素的右扩展。 //#include<bi
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1506 题意:给出连续的一组宽度为1,高为a[i]的长方形 , 问整个图所能构成的面积最大的长方形。 解法:单调递增栈记录以每一个值为最小值的两边扩展的最大值。比较以每一个值为最小值组成长方形面积的最大值。 //#
阅读全文
摘要:https://blog.csdn.net/wcxyky/article/details/97617893?utm_source=app 1.给定一组数,针对每个数,寻找它和它左边第一个比它小的数之间有多少个数。 2.给定一序列,寻找某一子序列,使得子序列中的最小值乘以子序列的长度最大。 3.给定一
阅读全文

浙公网安备 33010602011771号