题目链接
题意
询问多少子段和大于等于0.
思路
处理每一段1最左和最右能延伸到什么位置。这样处理出的长度是级别的。
然后处理这样的一个答案很直觉的一个做法就是找前缀和小于等于当前前缀和的数量有多少。
如此做法会有一个。
观察一下发现我们前缀和每次变化最多是1,所以我们每次询问的答案数量也就在两个相邻数值之间变化。
Code
1 |
|
询问多少子段和大于等于0.
处理每一段1最左和最右能延伸到什么位置。这样处理出的长度是级别的。
然后处理这样的一个答案很直觉的一个做法就是找前缀和小于等于当前前缀和的数量有多少。
如此做法会有一个。
观察一下发现我们前缀和每次变化最多是1,所以我们每次询问的答案数量也就在两个相邻数值之间变化。
1 | #include<bits/stdc++.h> |