随笔分类 - 栈队列、单调性
摘要:找邻居 给定一个长度为 \(N\) 的整数数列, 输出每个数左边距离最近的且比它小的数, 如果不存在则输出 -1。 输入格式 第1行一个整数$ N(1 ≤ N ≤ 3× 10^6)$ 第2行有$ N \(个整数,\) 1≤a_i≤10^9$ 输出格式 共一行, 包含$ N$ 个整数, 其中第$ i$
阅读全文
摘要:说明 最近,afy决定给TOJ印刷广告,广告牌是刷在城市的建筑物上的,城市里有紧靠着的N个建筑。afy决定在上面找一块尽可能大的矩形放置广告牌。我们假设每个建筑物都有一个高度, 我们假设每个建筑物都有一个高度,从左到右给出每个建筑物的高度\(H_1,H_2…H_N\),且\(0<H_i\leqsla
阅读全文
摘要:滑动窗口 /【模板】单调队列 题目描述 有一个长为 $n$ 的序列 $a$,以及一个大小为 $k$ 的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。 例如: The array is $[1,3,-1,-3,5,3,6,7]$, and $k = 3$。
阅读全文
摘要:目录单调栈单调队列 栈与队列基础:https://www.cnblogs.com/hellohebin/p/16920864.html 单调栈 例题 洛谷 P5788 【模板】单调栈 洛谷 P1901 发射站 广告印刷 找邻居 单调队列 例题 洛谷 P1886 滑动窗口 /【模板】单调队列
阅读全文
摘要:目录栈与队列P1739 表达式括号匹配P1449 后缀表达式P1981 [NOIP2013 普及组] 表达式求值B3616 【模板】队列P1996 约瑟夫问题 栈与队列 栈:具有后进先出(Last In First Out)特性的线性表 //stack 栈 int sta[N], head=0; /
阅读全文
摘要:日志分析 题目描述 $M$ 海运公司最近要对旗下仓库的货物进出情况进行统计。目前他们所拥有的唯一记录就是一个记录集装箱进出情况的日志。该日志记录了两类操作:第一类操作为集装箱入库操作,以及该次入库的集装箱重量;第二类操作为集装箱的出库操作。这些记录都严格按时间顺序排列。集装箱入库和出库的规则为先进后
阅读全文
摘要:[NOIP2003 普及组] 栈 题目描述 一个操作数序列,$1,2,\ldots ,n$,栈 A 的深度大于 $n$。 现在可以进行两种操作, 将一个数,从操作数序列的头端移到栈的头端(对应数据结构栈的 push 操作) 将一个数,从栈的头端移到输出序列的尾端(对应数据结构栈的 pop 操作) 使
阅读全文
摘要:[COI2007] Patrik 音乐会的等待 题目描述 $n$ 个人正在排队进入一个音乐会。人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人。 队列中任意两个人 $a$ 和 $b$,如果他们是相邻或他们之间没有人比 $a$ 或 $b$ 高,那么他们是可以互相看得见的。 写一个程序计算
阅读全文
摘要:发射站 题目描述 某地有 $N$ 个能量发射站排成一行,每个发射站 $i$ 都有不相同的高度 $H_i$,并能向两边(两端的发射站只能向一边)同时发射能量值为 $V_i$ 的能量,发出的能量只被两边最近的且比它高的发射站接收。显然,每个发射站发来的能量有可能被 $0$ 或 $1$ 或 $2$ 个其他
阅读全文
摘要:【模板】单调栈 题目描述 给出项数为 $n$ 的整数数列 $a_{1 \dots n}$。 定义函数 $f(i)$ 代表数列中第 $i$ 个元素之后第一个大于 $a_i$ 的元素的下标,即 $f(i)=\min_{i<j\leq n, a_j > a_i} {j}$。若不存在,则 $f(i)=0$。
阅读全文