【HNOI2014】Jabberwocky

题目大意:

平面上有N个点,K种颜色。求一条平行于x轴的线段,使得其上方或下方所有点不包含所有颜色的点数最大。

分析:

既然不能包含所有颜色,那么最多只能包含N-1种颜色。

那么我们枚举不包含哪一种颜色。则这一条线段必定是放在这种颜色的某个点下方

问题就变成了维护从某个点出发,最左和最右延伸的区域有多大,包含多少个点。

用扫描线从低到高加入,用set维护最近的两个端点,然后用树状数组统计就可以了。

时间复杂度:O( N Log N )

空间复杂度:O( N )

你可能感兴趣的:(Data,解题报告,structure)