![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
栈
yzyyylx
这个作者很懒,什么都没留下…
展开
-
单调栈
解释 单调栈就是一个栈中的所有元素都依次递增(或递减),若入栈元素不符合,则不断出栈(根据题目记录下需要信息),直到它符合条件,并根据题意记录需要信息,最后让元素全部出栈并记录信息. 可以先向栈加入一个为0或为无限大的元素(据增减性而定),使当栈为其他元素时,任意元素都可以进栈,而省去了对栈顶是否为空的判断. 最后让所有元素出栈时,也可采用相同方法,加入一个极端元素来实现.原创 2017-10-21 13:07:28 · 235 阅读 · 0 评论 -
虚树
作用针对有q次询问,每次询问树上的m个点的信息的题目,如世界树,可以每次将询问的这些点和这些点两两之间的lca(O(m)个点)单独拿出来建一棵虚树,然后在虚树上贪心或是dp来解决,其复杂度为询问总点数*log询问总点数+在虚树上操作的复杂度.建法首先将所有询问点按dfs序排序,用栈维护刚刚扫过的一条链,然后求出此时要加入的点与栈顶节点的lca,然后不断pop(并且在pop的同时加边)直到栈顶元素为l原创 2018-03-26 20:17:15 · 227 阅读 · 0 评论 -
Histogram LightOJ - 1083(RMQ)
题面题意 有一串由矩形组成的图,先要求出这幅图中所能容纳的最大矩形的面积总体思路 求出以各个小矩形高度为宽所能达到的最大面积,此时我们称这个最大矩形被这个小矩形统治,我们只需求出每一个小矩形统治的最大矩形的左端点和右端点.法1(单调栈)方法解释 让矩形依次入栈,当入栈矩形小于栈顶时,说明此时的栈顶不能统治该矩形,其右端点即为入栈矩形的位置-1.最后将让元素全部出栈,它们的右端点均为这原创 2017-10-21 13:20:46 · 283 阅读 · 0 评论 -
noip2017 Day1 T3 逛公园
题面题意 给一个有向图,一个起点和一个终点,问有几条路可以在小于等于最短路+k的时间内从起点到达终点,若有无数条(没有0环)则输出-1.方法 首先用迪杰斯特拉跑出终点到达每一个点的最短路,之后用dp[i][j]表示到达i点还可以多走j的时间的方法种数,考试时只想到这,不会判0.代码(考试时的70) #include<iostream>#in原创 2017-11-26 18:07:34 · 502 阅读 · 0 评论