题意:给你一个长度为n的数组a,你可以选择任意的子串进行操作:
使子串的奇数位+1,偶数位-1:
使子串的偶数位+1,奇数位-1.
他想问你最少需要经过多少次操作,可以将数组全部元素变成0
思路:我们做前缀和数组s,因为原数组就是前缀和数组的差分数组,即s是a的前缀和数组,那么a就是s的差分数组,
那么对子串的操作任意区间的+1-1对应前缀和数组就为任意的前缀和+1或者-1.
比如原数组为
前缀和数组为
那么我在选择奇数位+1,选择的区间为,
那么对应到前缀和数组中就是,因为我们可以选择任意的区间进行操作,所以我们一次可以进行