解法一:动态规划(dp)
一般这类线性问题都可以用dp解决,我们定义 d p [ i ] dp[i] dp[i] 为前 i i i 个元素组成美化数组的最少删除数。
根据题目定义,如果是奇数个元素,那么就要删除一个元素,所以 d p [ 0 ] = 1 dp[0] = 1 dp[0]=1。前两个元素可以根据相不相同来进行删除,如果两个相同必须全部删除,公式如下所示:
d p [ 1 ] = { 2 dp[0] == dp[1] 0 dp[0] != dp[1] dp[1]= \begin{cases} 2& \text{dp[0] == dp[1]}\\ 0& \text{dp[0] != dp[1]} \end{cases} dp[1]={ 20dp[0] == dp[1]