思路:数学题
给定一个长度为n的序列x。求修改第i个元素为多少时,序列的波动度会最小?
序列的波动度定义为:序列所有相邻元素差值的绝对值的和。
可以很容易发现,当修改第1个和第n个元素时,显然修改其为x2和xn−1最好。而对于其他元素,由于波动度的定义,可以令xi为xi−1与xi+1之间任意一值,这样,xi与xi−1、xi+1的波动值可以用如下公式计算xi+1−xi+xi−xi−1=xi+1−xi−1(如果xi−1>xi+1,交换它们的值即可)。
如果令xi<xi−1或xi>xi+1,那么它们的波动值为xi+1−xi或xi−xi−1,由于大小关系,一定比上面的值大。