题意简述
给定一个序列,支持插入一个数,或者查询第i小的数。i随着询问不断$+1$,初始为$0$。查询会给定一个序列$u$,表示当你插入到第$u_i$个数的时候就要来一次询问。$u$珂能有重复。那么你就要重复询问多次。
思路
首先考虑最基础的问题:如何插入
写一颗平衡树(vector)即珂。插入的时候,就用$lowerbound$。
那么如何处理重复的询问呢?
再写一颗平衡树(map),维护每个位置需要询问多少次。
然后对于一个位置,用一个for循环不断询问即珂。
注意我们还要用一个整形内存块(int)来维护那个随着询问不断$+1$的变量$i$。
还要写两个随机线性表(数组)来维护插入的数,和序列$u$。
代码
1 |
|