ural1028 poj2352

来源:互联网 发布:asp网站数据库在哪里 编辑:程序博客网 时间:2024/06/05 00:13

此题用bit或者用线段树再好不过了。

但是为了练习treap就用treap写了。

treap写的是拼人品。。。seed不同就wa到死唉。。

此题其实由于保证了Y轴是递增的。那么我就可以从点开始扫描,那么我只有维护一个X轴,然后凡是在其左下的都可以统计起来,然后hash一下就好了

额。。这里本来想用map做hash一直wa。。。后来写了个数组爆hash 由于n不大,所以可以这样写。。。也不知道我map哪写错了。。可能是后面处理少了的个数的时候写错了。

然后这里要注意一个地方就是重复的个数

比方说如果维护的是Y轴:

5
1 1
2 1
3 1
4 1
5 1

如果维护的是X轴

5
0 1
0 2
0 3
0 4
0 5

那么就会有重复的点出现。如何才能去重呢,然后又可以标号呢。那么我的做法是在find的时候找到一个就右走。那么就可以避免重复的了。那么统计的时候要将左边的也都统计起来在往右走就好了。但是我换了个seed就wa了。。悲剧。。