#include<bits/stdc++.h>
using namespace std;
int a[5007];
int dp[5007][5007];
int main(){
    int n;
scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    n=unique(a+1,a+1+n)-a-1;
    for(int i=n;i>=1;i--){
        for(int j=i+1;j<=n;j++){

    dp[i][j]=min(dp[i+1][j]+1,dp[i][j-1]+1);//右面变为左面的颜色或者左面变为右面的颜色
             if(a[i]==a[j])
                dp[i][j]=min(dp[i][j],dp[i+1][j-1]+1);//里面变为外面的颜色
        }
    }
    printf("%d",dp[1][n]);
    return 0;

最新文章

  1. 使用AOP+Annotation实现操作日志记录
  2. adb获取不了设备List of devices attached
  3. Java经典实例:纪元秒和本地日期时间互换
  4. Sound Generator 原理
  5. python 获取文件夹大小
  6. UITabbar item 设置笔记
  7. erp与电子商务集成的结构图
  8. Adding an On/Off switch to your Raspberry Pi
  9. UIView设置背景渐变色
  10. 理解git对象
  11. phpcms 替换首页
  12. 全景智慧掌上城,飞入寻常百姓家——VR全景智慧城市
  13. FJUT第三周寒假作业《第九集,离间计》栈
  14. CAS单点登陆,URL多出个参数jsessionid导致登陆失败问题
  15. spring源码学习1
  16. alert.log中的minact-scn: useg scan erroring out with error e:376警告
  17. android源码下载/查看地址
  18. 23.读懂 ECMAScript 规格
  19. js判断数组,对象是否存在某一未知元素
  20. 查询yum包安装路径

热门文章

  1. POJ2976(最大化平均值)
  2. demo2 Kafka+Spark Streaming+Redis实时计算整合实践 foreachRDD输出到redis
  3. python使用pyodbc连接sql server 2008
  4. 11-24网页基础--Js框架及学习思路
  5. leetcode643
  6. myeclipse 10破解
  7. JAVA之数组队列
  8. od命令 查看二进制文件
  9. 【总结整理】行内标签span设置position:absolute/float属性可以设置宽度与高度
  10. Python中for else注意事项