随笔分类 -  (单调)栈&(单调)队列

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