摘要:
本文不想废话,直接上多种做法。题意:固定的k,动态加点,动态询问第k大数。一、树状数组+二分这里有两种做法,一种是二分sum(i),另一种是利用二进制二分逼近k。树状数组常用来处理区间点的统计情况,这里n没有规定大小(理论上是int32),但是操作次数n是小于1000,000的,所以可以先进行离散化来储存1000,000个点值(我不知道这是不是所谓的离散化,因为点本身是整数,但是,这至少是一种散列、一种映射,异曲同工的)。具体操作为,先读入样例中出现的所有点,然后排序,insert( lower_bound(list, list+n, a[i])-list+1 ) 。a[]为原始数列,list 阅读全文