没弄明白大部分题解(恳请大佬们解惑,非常感谢),题目数据没说明是按顺序插入
查看原帖
没弄明白大部分题解(恳请大佬们解惑,非常感谢),题目数据没说明是按顺序插入
257348
theHermit楼主2020/8/24 21:08

首先谢谢大佬进来围观~

首先大部分题目做法对于查询操作有两种做法,

其一

是用multiset S插入数据

保证数据的单调性

然后通过S.lower_bound(x)二分查找数据(O(logn)),返回迭代器

但是由于无法通过multiset迭代器获得查找元素(x)的下标,

这时候题解会从S.begin()开始遍历到S.end()

但众所周知,这样遍历的时间复杂度不应该是O(n)吗,那这样二分查找还有意义吗?

其二

另一种题解是使用vector存入数据

然后直接lower_bound

但是这样无法保证插入数据的有序性,

题目也没说明插入数据是有序的

因此如果对数据操作,必须要即时的sort

但是题解里面我并没看到sort..

是我理解出了问题吗 或者数据太水了..

2020/8/24 21:08
加载中...