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标...