# ACM 套路

ACM 套路


  • 描述:给定一个数组,每次可以对数组某一个区间加一或者减一,求最少操作多少次可以使数组全部元素一致,最终可能的序列有多少种。

  • 题解:可以使用差分,先求一个差分数组,差分数组中正数总和位x,负数总和为y。由于只能加一或者减一操作(加m减m操作可以同样分析,暂时没有想出怎么解,只是感觉可以同样分析)。所有最少操作次数为min(x,y)(解释:每次操作选取一正数一负数,正数减1负数加1)+abs(x-y)(剩下全正或者全负的情况,只能和差分数组的第一项或者 最后一项匹配)。最终可能的序列有abs(x-y)+1(解释:取决于最后全正或者全负情况下的操作一共abs(x-y)步操作,对原数组第一项的操作可能有(0,1,2,abs(x-y)一共abs(x-y)+1中操作方式)


猜你喜欢

转载自www.cnblogs.com/sstealer/p/11129038.html
ACM