首页 > Look Up
头像 savage
发表于 2019-09-11 14:57:20
题目描述 Farmer John's N (1 <= N <= 100,000) cows, conveniently numbered 1..N, are once again standing in a ro 展开全文
头像 在刷题的单身狗很开心
发表于 2023-09-12 13:59:48
类似于滑动窗口,但比滑动窗口要简单。在本题中因为是向坐看(其实是向高下标的方向看)。所以从后向前去遍历,如果栈为空那么直接加入即可,如果当前的数比栈顶的数要大,那么栈顶里面的数不可能成为那个被仰望的了,所以弹出,又因为可能不止一个,所以用循环。如果比栈顶数要小证明还有可能称为那个背仰望的,接着加入栈 展开全文
头像 死于算法,生于算法
发表于 2021-11-07 14:07:19
这个题一看类似于欢动窗口,只是滑动窗口是从左向右的,这个是从右向左的,就是使用双端队列时改个方向就好了.思路大致相同.从右向左遍历,如果当前队列里没有元素,则说明当前处理的牛是最高的,它就要为0.存储答案可以用stack来存储 #include<iostream> #include< 展开全文
头像 清笑ing
发表于 2024-07-22 20:37:37
这就是一个单调栈的模板题 首先,先了解什么是单调栈 单调栈:找到数组每个元素左侧最接近它且小于它的数的下标 简单来说:就是向左走,直到找到离他最近的小于它的数的位置 然后,看看模板怎么写 int stk[N]; int tt = 0; for (int i = 1; i <= n; i ++) 展开全文
头像 装糊涂高手_
发表于 2022-04-05 10:19:24
思路:反向遍历Hi,用一个单调栈维护当前牛能仰望的最近的右对象的下标即可 #include <bits/stdc++.h> using namespace std; const int Nmax = 1e5+5; int n,H[Nmax],tmp[Nmax]; stack<in 展开全文