POJ 2653 Pick-up sticks 题解
2021-03-29 22:29 作者:昵称不能为空voidf | 我要投稿
题目大意:按时间顺序往平面上扔线段,后来的会压住先来的。问扔完后没有被压住的线段(顶层线段)有哪些。线段数量规模1e5,但保证答案不超过1e3。
思路:考虑每次新扔进来的线段,它一定会成为当前状态的顶层线段,并且有可能压住目前在顶层的一些线段。那么我们只需要维护一个当前顶层的线段的集合,然后每次用新加入的一条线段去滤掉一些被压住的即可。
这里选择使用list处理,注意C++98的编译器不支持嵌套模板两个右尖括号的写法,必须得空一格。