![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
栈
浑水摸鱼拒绝996福报
这个作者很懒,什么都没留下…
展开
-
发射栈
单调栈的问题= =发现了单调站用的递减的非常多 总结一下:可以看到题目要求我们找最近俩边的比当前信号塔高的塔,然后改变这俩塔的能量值,那么如果我们创建一个单调递减的队列,新来的元素比栈顶元素的高度小的话,那么很显然新来的元素不能接受能量,但一旦比栈顶元素高的元素来了,那么根据提议,这个高的塔接受能量之后,栈顶元素就完成了他的使命,当然你每次加入一个较低高度元素,栈顶元素相应的能量值就要增加。叙述完毕 // 发射栈.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #includ原创 2021-04-16 23:42:49 · 54 阅读 · 0 评论 -
Look Up S 洛谷
这也是一道单调队列的题目哈 总结一下:题目要求你让奶牛排成一排,看每一只奶牛能看到最近的比他高的奶牛,如果啥也没看到就输出0,那就直接初始化一个数组所有元素为0,之后呢 #include <iostream> #include<stack> using namespace std; const int maxn = 100000 + 50; int cow[maxn]; int H[maxn]; int saw[maxn] = { 0 }; int s[maxn]; int top原创 2021-04-16 23:36:47 · 70 阅读 · 0 评论 -
最大数 洛谷
来到了我们的栈专题了,新学到了一个叫单调栈的东西,原理非常简单,但是确实在某些问题的思路上非常的巧妙,比如说这一题 总结一下:该题目用了单调栈的原理 单调栈:顾名思义也就是单调递减或者单调递增的栈,你可以用数组,淡然也可以用STL里的Stack,都是很方便的,假设是单调递增的栈,如果前面的数字比你大那你就将这个数字出栈就可以了。 该题创建了一个普通数组用以存输入进来的数字,然后开了一个单调栈,用以储存一个单调递减的栈,至于为何是单调递减呢,因为单调递增数列是不符合本题的思想的(可以自己尝试一下),单调递减的原创 2021-04-16 23:28:50 · 104 阅读 · 0 评论