关于map与set的count的时间复杂度
最近在福州oj上做了一道
Problem 2227 邮票,用了set.count来做就超时了,结果用map直接映射的话就过了。所以我就怀疑count的时间复杂度并非是nlogn,最后突然想到count的时间复杂度应该是O(nlogn+(所查询的值的长度)),解析在下面:
因为map与set都是红黑树的结构,而且在二分的时候只是找到一个位置的值,但是这只是说明存在这样的一个数,而不是说明我这个数出现了多少次,所以我觉得它是二分完在一个一个遍历的,所以会存在许多相同的数时,时间复杂度就非常难看了,也就是为什么在做fzu的那道题目会超时的原因,不过这只是我的猜想,并没经过验证,欢迎各位提出你们的宝贵意见,谢谢!