栈
文章平均质量分 56
1
__meteor
对于未来, 我只是一个孩子;
展开
-
Passing the Message
题意:传信息,左边传给比自己矮的人中最高的那个,右边也是如此,输出每个人左右的被传递者,若左右没有比自己矮的人,输出0.思路:维护一个从大到小的单调栈,最后一个被pop掉的元素是最大的。#include#include#includeusing namespace std;#define maxn 50010#define ll long longll a[max原创 2017-07-22 20:54:36 · 250 阅读 · 0 评论 -
Colorful Rainbows ZOJ - 2967 (栈的应用)
思路:先排序,斜率从小到大, 斜率相同, b从小到大。斜率相同时, b大的肯定遮挡b小的。所以将斜率相同b小的去掉。剩下斜率都不同。当直线数量<=2时候, 肯定不会遮挡, 所以当出现第三条直线时,判断它与第二条直线的交点是否在第一条直线与第二条直线交点的右边,是的话不遮挡, 否则会遮挡。若遮挡一直找到第一个不遮挡的为止。#include<cstdio>#include<c...原创 2018-04-19 11:05:16 · 177 阅读 · 0 评论 -
牛课网 Neat Tree(单调栈)
题目描述 It’s universally acknowledged that there’re innumerable trees in the campus of HUST.There is a row of trees along the East-9 Road which consists of N trees. Now that we know the height of each tr...原创 2018-04-29 22:38:16 · 267 阅读 · 0 评论 -
codeforces contest 1092 -- D1 Great Vova Wall (Version 1)
click思路:用1*2的块能补成相邻差不超过1的序列;用栈模拟,如果该数和栈顶元素同为奇数或同为偶数,则消去,最终栈内的元素<=1的才是YES原因是如果是1122,则可以弄成2222, 如果是1001,先成为1111, 中间必是偶数个,所以可以11->22为什么最后size为1的时候也可以呢,因为剩下1的情况必是元素个数是奇数个的时候,所以偶数个数两两组合每次可...原创 2018-12-26 12:46:05 · 169 阅读 · 0 评论