![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
栈
goto_1600
我何来寂寞,哪有寂寞可言。
展开
-
河南省省赛 甜甜圈(思维+隔板+线段树)
题意: 给定两个栈,每次操作可以花费一个代价将栈顶的元素放到另一个栈的栈顶,如果当前序列的最大值是栈顶,可以0花费将这个最大值弹出。问最少操作多少次。 思路: 由于这样操作的序列是确定的,那么就没有贪心的成分所在了,就是想着怎么模拟了,一开始想用平衡树,由于某个数的上面的一堆数放到隔壁堆中,实现翻转,对于隔壁堆下面的所有元素,都加上size,但是没必要,看了标程,其实可以实现这样的操作。 将所有数按照值大小,从大到小排序,维护每一个id,然后每次都维护当前板所在的位置,最后实现一个线段树单点修改区间查询.原创 2021-05-31 23:37:24 · 231 阅读 · 0 评论 -
单调栈
题目 给定一个长度为N的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出-1。 输入格式 第一行包含整数N,表示数列长度。 第二行包含N个整数,表示整数数列。 输出格式 共一行,包含N个整数,其中第i个数表示第i个数的左边第一个比它小的数,如果不存在则输出-1。 数据范围 1≤N≤1051≤N≤105 1≤数列中元素≤1091≤数列中元素≤109 输入样例: 5 3 4 2 7 5 输出...原创 2020-02-04 17:04:21 · 194 阅读 · 0 评论