随笔分类 -  【划分树】

【HDU】3727 Jewel
摘要:操作:1,从数列结尾插入一个数。2,查询区间第k小。3,查询一个数在当前序列是第几小。4,查询当前序列第k小。1,离线。因为结尾插入一个数并不会对当前查询的区间造成影响。2和4,划分树。3,其实就是划分树的逆过程。划分树就是二分一个区间,把小于等于区间中心的数放到左边,否则放到右边。同时还需要记录一个位置,在它位置之前(包括它的位置),有多少个被放到了左区间。当完全递归到区间长度是1时,就把一个数列排好序了。 1 #include<cstdio> 2 #include<algorithm> 3 #define MAXM 20 4 #define MAXN 300010 阅读全文
posted @ 2012-09-01 12:22 DrunBee 阅读(349) 评论(0) 推荐(0)