8.前缀和
35point5
这个作者很懒,什么都没留下…
展开
-
BZOJ 5108 [CodePlus2017]可做题
题面 题解: 显然每个数的二进制位是互不影响的,所以可以每位拆开做. 考虑每一段连续1前面的第一个0,根据该串前缀异或和中0和1的个数考虑是否取反该0. 而每段连续1后面的连续零长度若大于1,则该位取该串1的前缀异或和的值,可以使得除最后一位外均为0,若连续零长度等于1则可以不管,根据下一串连续1来确定该位取值. Code...原创 2018-03-04 19:41:26 · 185 阅读 · 0 评论 -
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标...原创 2018-03-04 20:25:31 · 632 阅读 · 0 评论