首先谢谢大佬进来围观~
首先大部分题目做法对于查询操作有两种做法,
其一
是用multiset S插入数据
保证数据的单调性
然后通过S.lower_bound(x)二分查找数据(O(logn)),返回迭代器
但是由于无法通过multiset迭代器获得查找元素(x)的下标,
这时候题解会从S.begin()开始遍历到S.end(),
但众所周知,这样遍历的时间复杂度不应该是O(n)吗,那这样二分查找还有意义吗?
其二
另一种题解是使用vector存入数据
然后直接lower_bound
但是这样无法保证插入数据的有序性,
题目也没说明插入数据是有序的
因此如果对数据操作,必须要即时的sort
但是题解里面我并没看到sort..
是我理解出了问题吗 或者数据太水了..