平常鸭子

文章
4
资源
0
加入时间
2年10月24天

BZOJ 5110 [CodePlus2017]Yazid 的新生舞会 O(n)

题面 题解: 枚举每个数作为众数,枚举到的数赋为+1,其它数赋为-1. 走一次统计一次肯定不现实,考虑动态更新走到当前点的答案res. 设sum为当前前缀和,f[i]表示前缀和为i的点有f[i]个,res即为所有小于sum的f[i]的和. 若接下去有一连串-1使得sum小于最小值,则一步跳到这串-1的末尾(因为不用统计答案) 这时就需要一个差分数组cf,在起点打-1标记,在终点打+1标...

Python SortedListPython SortedContainers ModulePython SortedList315. 计算右侧小于当前元素的个数剑指 Offer 51. 数组中的逆序对

Python SortedList1.添加值SortedList.add(value) 添加新元素,并排序。时间复杂度O(log(n)).SortedList.update(iterable) 对添加的可迭代的所有元素排序。时间复杂度O(k*log(n)).SortedList.clear() 移除所有元素。时间复杂度O(n).SortedList.discard(value) 移除一个值元素,如果元素不存在,不报错。时间复杂度O(log(n)).SortedList.remove(value)