主席树的运用 好题

来源:互联网 发布:同城热恋软件 编辑:程序博客网 时间:2024/06/06 14:27

给定1~N个点,每个点有颜色,M组询问,查询[L~R]中得颜色个数。
我们创造两个数组。
第一个数组记录:该点的颜色
第二个数组记录:上个根这个点颜色一样的点出现的位置。
吼!第二个数组的作用是什么呢?
是这样的:
我们对L~R中颜色的查询,可以转换成查询数组二L~R中有多少个小于L的数。
为什么?好好想想!因为如果数组二中有很多同样颜色的点,他们肯定只有最左边的那个在数组二中小于L。
由此一来,就可以转换成一个裸的主席树问题了。

原创粉丝点击