问题转化 题目的核心条件是 even(l,r)>odd(l,r)。我们可以将这个不等式进行移项,得到: even(l,r)−odd(l,r)>0 这个形式启发我们去构造一个新的数组,使得新数组的区间和恰好等于 even(l,r)−odd(l,r)。
构造新数组与前缀和 我们可以定义一个新数组 c,其元素 ci 的值与原数组 ai 的奇偶性有关:
给定一个长度为 n 的正整数数组 {a1,a2,...,an},下标从 1 开始计数。
我们把区间 [l,r](1≦l≦r≦n) 中全局下标为偶数的位置上的元素之和记为 even(l,r) ,把区间内全局下标为奇数的位等上的元素之和记为 odd(l,r) 。
现在,Tk 想知道有多少个区间 [l,r] 满足