【题目大意】:
看之前的那个题解~~
【题目分析】:
经历了ranklist倒数的悲剧事件后~~我决定学学这个归并树……
那么什么是归并树呢~
我习惯管这个东西叫线段树套数组……
开个线段树,里面就是这个区间排完序后的数列……
当然,我们不能每个节点都开,所以我们搞一个数组data[i,j],表示第i层第j个数是什么。
这个层就是线段树节点所在深度~~
然后呢,自然就是二分,然后进线段树里继续二分~然后在线段树的节点上继续二分~~
经历的悲剧的三次二分之后,我们就可以出解了~
这个东西怎么构造呢~所谓归并树,当然就要用归并排序了!!想通了吗~~其实你在归并排序的同时就已经完事了……
P.s.最开始一直是WA,后来发现开数组的时候把两个下标写反了……真悲剧,居然不爆RE~~害的我查了一下午……
【代码】(真悲剧):