树状数组
给出一个序列中的相对位置,让你输出它本来的序列;
解题思路:
解法一:可以直接从最后一位开始模拟,就是如果它前面有m个数比它小,那么我们就从1~n中没有取到过的数中找第m+1个没有被使用过的数,将它作为当前位置的数,最后,唯一没有被标记过的数,就是第一个数。
(写完之后发现这好像是一个树状数组题,明天去想想树状数组的解法)
解法二:树状数组,用一个树状数组维护当前数据的排名,然后每次从第n个数开始,二分找树状数组中排名=当前数前比当前数小的的数+1的数,然后更新树状数组中的排名。
, 相关下载链接:
https://download.csdn.net/download/2401_84585615/89409824?utm_source=bbsseo