Codeforces Round 1096 G. Drowning 动态开点权值线段树https://codeforces.com/contest/2227/problem/G我们将使用拉马努金瞪眼法解决这一题: 注意到,我们需要求有多少个奇数长度的子数组,满足奇数位置设为 正,偶数位置设为 负,并且满足子数组的权值大于 \(0\) 证明:注意到,每一个奇数长度的数组,最左边的和最右边的一定是正数,那么中间那一块肯定权值为负喽! 既然中间那一块权值为负,那么对于中间那一块,最左边和最右边也肯定是正 然而这一整块为负,那么最左边和最右边转化之后,就为负了 也就是说,偶数位置是负!奇数位置是正