#J18P1. 祖玛

    ID: 7349 传统题 1000ms 256MiB 尝试: 2 已通过: 0 难度: 10 上传者: 标签>动态规划区间 DPJ18实践J18 实践-1 祖玛区间dp

祖玛

[JSOI2007] 祖玛

题目描述

祖玛是一款经典的益智游戏。在本题中,我们考虑一个简化版本的祖玛游戏。

一条通道中有一排玻璃珠,每个珠子有各自的颜色,如图 1 所示。玩家可以选择一种颜色的珠子(注意:颜色可以任选,这与真实游戏不同),将其射入通道中的任意位置。

图 2 中玩家选择一颗蓝色珠子,射入图示的位置,于是得到一个图 3 的局面。

当玩家射入一颗珠子后,如果射入的珠子与其他珠子组成了三颗或以上连续相同颜色的珠子,这些珠子就会消失。例如,将一颗白色珠子射入图 4 中的位置,就会产生三颗颜色相同的白色珠子。这三颗珠子就会消失,于是得到图 5 的局面。

需要注意的一点是,图 4 中的三颗连续的黄色珠子不会消失,因为并没有珠子射入其中。 珠子的消失还会产生连锁反应。当一串连续相同颜色的珠子消失后,如果消失位置左右的珠子颜色相同,并且长度大于 2,则可以继续消失。例如,图 6 中,射入一颗红色珠子后,产生了三颗连续的红色珠子。当红色珠子消失后,它左右都是白色的珠子,并且一共有四颗,于是白色珠子也消失了。之后,消失位置的左右都是蓝色珠子,共有三颗,于是蓝色珠子也消失。最终得到图 7 的状态。注意,图 7 中的三颗黄色珠子不会消失,因为蓝色珠子消失的位置一边是紫色珠子,另一边是黄色珠子,颜色不同。

除了上述的情况,没有其他的方法可以消去珠子。

现在,我们有一排珠子,需要你去消除。对于每一轮,你可以自由选择不同颜色的珠子,射入任意的位置。你的任务是射出最少的珠子,将全部珠子消去。

输入格式

第一行一个整数 nn,表示珠子的个数。

第二行 nn 个整数,用空格分隔,每个整数表示一颗珠子的颜色。

输出格式

一个整数,表示最少需要射出的珠子个数。

样例

9
1 1 2 2 3 3 2 1 1
1

数据范围与提示

  • 1n5001 \le n \le 500
  • 珠子颜色为 3232 位整数范围内

注意:本题可能存在错题,目前存在多项式复杂度解法,但在原数据范围下可能无法通过(参考 UOJ941)。