YACS20222丙组——缩进对齐(差分法)
为了求出把c数组变成d数组要最少多少次,我们只需找出所有比 d[i]d[i] 大的 c[i]c[i],计算出 c[i]-d[i]c[i]−d[i]的和即可。(也可以找比d[i]d[i]小的c[i]c[i],结果一样)因为我们补充定义了a数组的头尾是0,其实差分数组c的和一定为0,类似地我们对b数组补充定义,另d数组为b数组的差分数组。我们可以每次只选择a中的一个元素,让它不停加1或者减1变成b数组中对应的值。如果我们选择a[1]到a[4]加1,体现在差分数组上则是c[1]加1,c[5]减1...