![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
栈
文章平均质量分 55
stack
Echo_ac
不知未来怎样,现在一定全力以赴
展开
-
L2-1 出栈序列的合法性 (25 分)——简单思路
文章目录思路AC代码思路入栈顺序是:1,2,3,4,5…给出一个出栈顺序,让你判断是否合法,我们模拟入栈出栈顺序,从1开始入栈,如果当前栈顶是当前出栈的元素,那么当前栈顶出栈,否则就一直入栈,知道栈满或者当前出栈元素入栈。AC代码#include<bits/stdc++.h>#define rep(i,x,y) for(int i=x; i<=y; ++i)#define per(i,x,y) for(int i=x; i>=y; --i)#define pushk原创 2022-04-12 10:58:43 · 451 阅读 · 0 评论 -
牛客 区区区间间间——单调栈+思维
题目链接文章目录题目思路参考代码总结题目思路一看数据范围是1e5就知道这道题大概率是个nlogn的做法,我们这样考虑:对于任意一个数aia_iai,它作为区间最大值(最小值)出现的次数,最后aia_iai对答案的贡献就是ai∗(max[i]−min[i])a_i*(max[i]-min[i])ai∗(max[i]−min[i]),累加起来即可如何求aia_iai作为最大值出现的次数呢?我们找到左边第一个比它大的数axa_xax,右边第一个比它大的数aya_yay, 那么在区间[原创 2021-07-15 23:16:03 · 189 阅读 · 1 评论 -
hdu1506 Largest Rectangle in a Histogram——单调栈的基本运用
题目链接AC代码#include<iostream>using namespace std; typedef long long ll;const int N = 1e5+9;ll h[N];int n;int stk[N],l[N],r[N];//左边第一个比它小的数,//右边第一个 比它小的数字的下标 int tt = 0;int main(){ while(~scanf("%d",&n)&&n) { for原创 2021-01-15 15:55:33 · 64 阅读 · 0 评论 -
中缀表达之转后缀表达式
给自己看的,大佬勿喷哦慕课网址原创 2020-12-23 19:31:33 · 70 阅读 · 0 评论 -
n个元素,入栈序列为1 2..n,有多少种出栈序列
11+n(2nn)\frac{1}{1+n}{2n \choose n}1+n1(n2n)即 11+n\frac{1}{1+n}1+n1Cn2n(我真的不懂markdown语法。。。)原创 2020-11-13 08:42:39 · 470 阅读 · 0 评论 -
acwing 单调栈
题目链接文章目录思路:AC代码:思路:如果暴力做的话,就开两重循环,暴力枚举。在此基础上我们进行优化,对于每一个a[i],用栈来存储它左边的数:a[1]…a[i-1],在a[1]~a[i-1]里面,如果存在a[x]>=a[y]&&x<y,那么a[x]将永远不会用到,所以对于每一个a[i],如果我们发现栈顶的元素stack[top] >= a[i],则循环弹出栈顶元素。循环结束后如果站里面还有元素,这个元素就是对于a[i]而言左边第一个小于它的数。每次循环将a[原创 2020-08-01 20:12:57 · 175 阅读 · 0 评论 -
acwing 单调栈
题目链接文章目录思路:AC代码:思路:如果暴力做的话,就开两重循环,暴力枚举。在此基础上我们进行优化,对于每一个a[i],用栈来存储它左边的数:a[1]…a[i-1],在a[1]~a[i-1]里面,如果存在a[x]>=a[y]&&x<y,那么a[x]将永远不会用到,所以对于每一个a[i],如果我们发现栈顶的元素stack[top] >= a[i],则循环弹出栈顶元素。循环结束后如果站里面还有元素,这个元素就是对于a[i]而言左边第一个小于它的数。每次循环将a[原创 2020-07-24 10:32:07 · 128 阅读 · 0 评论 -
集合栈计算机 uva 12096(蒟蒻的总结,set,map,vector,stack)
题目思路:刘汝佳老师的,啊,说了很重要,但是本蒟弱还是没理解透理解了的部分写在注释上了,以后补充,忘大佬指点#include<iostream>#include<stack>#include<set>#include<map>#include<vector>#include<string>#include ...原创 2020-05-04 23:17:01 · 112 阅读 · 0 评论 -
Rails 蒟蒻的栈
题目思路:题目格式怪怪的,本菜鸡是参考大佬的,这道题是本菜鸡在紫书上学的,最后问的学长弄懂的,具体思路写在注释上,主要是那4个if语句的理解,本蒟弱自己的理解写得,欢迎大佬指教#include<bits/stdc++.h>using namespace std;const int MAXN = 1000+10;int n,target[MAXN];int flag = 1;...原创 2020-04-13 23:23:19 · 85 阅读 · 0 评论