![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
单调栈/队列
stack
Qingo呀
老菜鸡。
展开
-
LeetCode 649. Dota2 参议院 (模拟+队列)
题链:https://leetcode-cn.com/problems/dota2-senate/我的思路:模拟错了n发,太菜了。。。。。。。有权利投票的话,先把后面的对手ban掉,后面没有对手了的话再ban前面的对手。我用的字符串模拟的,最后看一下哪个阵营先为空即可(不知道为啥,跑的还挺快)。实现1:class Solution {public: string predictPartyVictory(string s) { while(1){ .原创 2020-12-11 10:48:16 · 159 阅读 · 0 评论 -
2019 ICPC 银川 K. Largest Common Submatrix (单调栈)
题链:https://nanti.jisuanke.com/t/42391题意:如题目名字,求两个矩阵的最大公共子矩阵。思路:首先,预处理出每个点上边有多少相同的以及每个点右边有多少相同的。枚举每行,然后以求出的右边相同的个数为依据,划分左右可以连的那几列,那么问题就变成了(POJ - 3494)单调栈模板题,直接求最大的面积即可。(太菜了太菜了,想了两种方法都不对(有一个错在倒数第3个测试点,哎。。。。)。)#include<bits/stdc++.h>using name原创 2020-12-04 21:36:47 · 312 阅读 · 0 评论 -
LeetCode 每日一题 321. 拼接最大数(dp或单调栈)
题链:https://leetcode-cn.com/problems/create-maximum-number/我的思路(超时):力扣有的题没有数据范围,这是很烦的,但是我dp弱,记录一下吧。dp[i][j][k]代表第一个数组的前i个数,第二个数组的前j个数拼接成k个数的序列的最大值。转移方程:dp[i][j][k]=max{ dp[i-1][j-1][k] ,dp[i-1][j][k-1]+a[i-1] ,dp[i][j-1][k-1]+b[j-1]} (PS:i-1,j-1是因为我..原创 2020-12-02 20:30:09 · 275 阅读 · 0 评论 -
杭电2019多校第十场 HDU-6701 Make Rounddog Happy(单调栈+枚举)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=6701题意:求区间内数各不相同并且max(al,al+1,…,ar)−(r−l+1)≤k的区间的个数。思路:当时读题忽略了区间内数各不相同这个条件,想着不就是单调栈加简单的组合数学吗?后来,写完样例不对才发现。。。。然后就想求出某一个数为终点的最长不重复区间和一某个数为起点的最长不重复区间,再和单调...原创 2019-08-22 22:24:28 · 175 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场)A All-one Matrices(单调栈+前缀和+思维)
链接:https://ac.nowcoder.com/acm/contest/888/A题意:给出一个只含'0'或'1'的n*m的矩阵。求有多少个全是'1'的极大子矩阵。思路:预处理每一行中每一列连续1的高度(h[i][j]表示从第i行第j列开始向上有多少个连续的1。)和每一行每一列中1的前缀和(sum[i][j]表示第i行前j个数有多少个1)。枚举每一行,用单调栈维护每一列的作用范围,最...原创 2019-08-11 16:54:40 · 124 阅读 · 0 评论 -
单调队列学习
学习博客:https://blog.csdn.net/ljd201724114126/article/details/80663855目前理解:单调队列就是队列内元素具有单调性的队列,或者单调递增或者单调递减。可以O(n)找区间内的最大值和最小值。和单调栈不同的是,它在队尾、队首都能删除元素,而单调栈只能删除栈顶的元素。...原创 2019-07-26 14:20:22 · 129 阅读 · 0 评论 -
2019牛客暑期多校训练营(第三场)F Planting Trees(单调队列)
链接:https://ac.nowcoder.com/acm/contest/883/F?&headNav=acm题意:T组样例。每个样例第一行给出n、m,接下来给出一个n*n的矩阵。求最大值和最小值的差值小于等于m的矩阵的最大面积。思路:两个for循环枚举上界和下界,从而确定高。接下来枚举最右边的一列,找出符合要求的最左边的一列。两个数组分别记下当前每列的最大值和最小值。用单调队...原创 2019-07-26 16:35:36 · 127 阅读 · 0 评论 -
2019南昌网络赛 I. Max answer(单调栈+线段树)
链接:https://nanti.jisuanke.com/t/38228题意和思路都和https://blog.csdn.net/birdmanqin/article/details/97553976差不多。#include <bits/stdc++.h>#define ll long longusing namespace std;const int N = 5e5...原创 2019-07-27 21:27:45 · 112 阅读 · 0 评论 -
2019牛客暑期多校训练营(第四场)C sequence(单调栈+线段树)
链接:https://ac.nowcoder.com/acm/contest/884/C 题意:注意是多组输入。。。。第一行给出n,接下来给出数组a的n个元素和数组b的n个元素。在所有连续区间中,假设为[l,r],求数组a在该区间的最小值*数组b在该区间的和的最大值。思路:用单调栈找出每个a[i]作用的范围,用线段树维护区间内前缀和的最大值和最小值。当a[i]<0时,求出[i,r[i...原创 2019-07-27 21:23:05 · 172 阅读 · 0 评论 -
2019牛客暑期多校训练营(第二场) H Second Large Rectangle(单调栈)
链接:https://ac.nowcoder.com/acm/contest/882/H题意:给你n、m,再给出一个n行m列的只含"0"或"1"的字符矩阵。求全是"1"的第二大矩阵的大小。思路:做过求最大矩阵的,当时用的单调栈。读完题,就想求第二大不就在更新最大的时候再更新一下第二大不就得了。写完,随便造一个样例,就不行。后来,改了很久才想到,更新最大的时候可能会用到相同的矩形。枚举每一行...原创 2019-07-21 14:09:52 · 152 阅读 · 0 评论 -
2019 计蒜之道 复赛 D. “星云系统”(队列+贪心 或 单调栈)
链接:https://nanti.jisuanke.com/t/39614题意:给你一个字符串和k,求字典序最小的长度为k的子序列。贪心思路:开26个队列,将字母的位置放入队列中。贪心的往k个位置上放字母,即从‘a’到'z'尝试,首先尝试字母的位置要大于放的上一个字母的位置。如果尝试字母的位置后面的字母数加上已经放的字母数小于k,则不能放,否则就放。#include <bits...原创 2019-07-23 17:11:36 · 130 阅读 · 0 评论 -
POJ - 3494 Largest Submatrix of All 1’s
Given am-by-n(0,1)-matrix, of all its submatrices of all 1’s which is the largest? Bylargestwe mean that the submatrix has the most elements.InputThe input contains multiple test cases. Each t...原创 2019-05-15 17:21:45 · 228 阅读 · 0 评论 -
洛谷 P5300 [GXOI/GZOI2019]与或和(单调栈)
问题 C: 与或和时间限制:3 Sec内存限制:512 MB提交:177解决:25[提交] [状态] [命题人:admin]题目描述Freda 学习了位运算和矩阵以后,决定对这种简洁而优美的运算,以及蕴含深邃空间的结构进行更加深入的研究。对于一个由非负整数构成的矩阵,她定义矩阵的AND值为矩阵中所有数二进制AND(&)的运算结果;定义矩阵的OR值为矩阵中所...原创 2019-05-15 17:16:08 · 235 阅读 · 0 评论