![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单调性
文章平均质量分 69
“单调性”问题
{∞}
自然选择,前进四!
展开
-
【c++提高1】单调队列
i = a;i = a;i = a;i = a;i = a;i原创 2022-11-08 19:31:45 · 812 阅读 · 0 评论 -
【c++刷题Day2】专题3栈与队列&单调栈与单调队列T2
小科在你的帮助下,破解了第一道密码门,正要往前走,突然又出现了一个密码门,门上有一个算式,其中只有“(”,“)”,“0-9”,“+”,“-”,“*”,“/”,“^”,求出的值就是密码。小科数学学得不好,还需你帮他的忙。(“/”用整数除法)这是C++刷题的Day2。共1行,为一个算式。使用栈进行表达式计算。......原创 2022-08-15 17:10:05 · 117 阅读 · 0 评论 -
【c++刷题Day2】专题3栈与队列&单调栈与单调队列T4
用对于H[i],要看它最多能延申到哪里,可以用单调栈维护即可。这是C++刷题的Day2。原创 2022-08-15 17:21:15 · 115 阅读 · 0 评论 -
【c++刷题Day2】专题3栈与队列&单调栈与单调队列
实时的维护一个单调的内部序列,最后队首就是当前的最小值&最大值。这是C++刷题的Day2。原创 2022-08-15 17:27:31 · 134 阅读 · 0 评论 -
【c++刷题Day2】专题3栈与队列&单调栈与单调队列T1
当type = 1时,表示该次操作为push操作,val表示进入的数字。当type=2时,表示该次操作为pop操作,val代表出来的数字。输出改组数据对应的线性结构,”Stack” 或者 “Queue”。模拟栈和队列,每次检查栈的栈顶元素和队列的队头元素是否匹配即可。第一行,一个整数n,代表操作的次数。给出一个线性结构的进出顺序,判定这个结构是栈还是队列。不同的是,栈是”先进后出”,而队列则是”先进先出”。第一行输入一个整数T,代表有T组测试数据,T......原创 2022-08-15 17:05:32 · 295 阅读 · 0 评论 -
【c++提高1】优化DP专题:状压DP & 倍增优化DP & 环形DP的单调队列优化DP
这是c++提高的第一讲动态规划是解决“多阶段决策最优化问题”的一种算法思想。阶段的划分决定了状态的定义,状态定义的一个重要特性就是要确保**“无后效性”。**很多DP问题在定义状态的时候,为了确保无后效性,需要在状态中加入多个维度,如果每个维度都用一维数组来表示的话,当维度较多时会导致占用的空间太大。很多时候状态的维度虽然很多,但是决策非常少,特别的很多时候只有两种决策。例如背包问题中每个物品只有0和1两种决策。对于这种情况,没有必要为每个维度都分配一维空间,而是用一个二进制数来存储所有维度,每个二进制原创 2022-07-11 12:07:29 · 752 阅读 · 1 评论 -
【c++刷题Day2】专题3栈与队列&单调栈与单调队列T3
小科上了初中,开学的第一周是新生军训,小科的教官在进行队列训练时方法非常特殊。一开始N名学生按照顺序从1到N开始编号并排成一个横队。训练时按照如下的规则:从队头开始1至2报数,所有报到2的人出列,剩下的向编号小的方向靠拢,然后再从头开始进行1至3的报数,所有报到3的人出列,剩下的向编号小的方向靠拢,然后循环的进行1到2报数…1到3报数,直至剩余的人数不超过3人为止。最后请你确定一下最终队伍中剩下的人的编号是多少。第一行一个整数T,表示测试数据的组数。对于每组数据,输出一行,队伍中最终剩余的同学的编号。...原创 2022-08-15 17:15:04 · 174 阅读 · 0 评论 -
【c++提高1】数据结构之单调栈
单调栈是栈的一种特殊的形式,必须要求栈内元素单调,当题目有单调性的话(不是答案具有单调性,是信息具有单调性),一般可以使用单调栈,避免重复执行不必要的操作,从而将时间复杂度降低。单调栈没有什么特定的算法,也没有啥模板,所以就不讲太多关于单调栈算法一类的东西了就将一些例题吧。原创 2022-08-23 16:52:36 · 813 阅读 · 3 评论 -
【单调栈】直方图中的最大子矩阵
目标是找到每一个点向左右最长能延申的从长度,可以使用单调栈解决。枚举[1, n],向两边延申,计算面积取最大值。时间复杂度:O(N^2)原创 2022-08-23 15:23:32 · 116 阅读 · 0 评论