随笔分类 - 离散化
摘要:题面 离线处理;大体思路就是将数组排序,然后对于第k次询问把不可行的数打上标记,然后从头开始寻找第k个没打标记的点的值(排序后的数组保证了它是第k小的)。实现方法:首先离散化原始数组,得到数组find[],find[i]=j表示原位置为i的数从小到大排序后的位置是j。a[]数组表示原数组,b[]数组
阅读全文
摘要:对于一个数列a[],比如说:5 3 4 2 1; 我们可以将其离散化成b[],先在位置5加1,然后在位置3加1,然后在位置4加1,以此类推; 当在一个位置x加1时,b[]中已经加完的的值保证了其l<r; 那么如何统计a[l]>a[r]的个数呢? 这个个数就是sum(b[1]~b[x]); 到这里求得
阅读全文

浙公网安备 33010602011771号