【HNOI2014】Jabberwocky

来源:互联网 发布:linux指令grep 编辑:程序博客网 时间:2024/06/11 04:51

题目大意:

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

分析:

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

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

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

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

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

空间复杂度:O( N )

0 0
原创粉丝点击