#P12778. [ICPC 2024 Yokohama R] Ribbon on the Christmas Present

[ICPC 2024 Yokohama R] Ribbon on the Christmas Present

题目背景

译自 ICPC 2024 Yokohama Regional Contest

题目描述

你正在准备一条彩带,用于装饰圣诞礼物盒。你计划将这条最初为白色的彩带染色,以制作出不同红色深浅的条纹图案。彩带由若干节组成,每一节都应按计划染色。

你希望用最少的染色步骤来准备这条彩带。彩带上连续的几节可以用同一种红色深浅一步染色。已经染有某种红色深浅的彩带节可以用更深色调的染料进行套染;它会被染成那种更深的色调。然而,不允许用更浅的色调进行套染。由于彩带最初是白色的,所有节都必须至少染色一次。

$$\fcolorbox{black}{CCCCCC}{\textcolor{black}{\textsf{\,50\,}}} \fcolorbox{black}{111111}{\textcolor{white}{\textsf{100}}} \fcolorbox{black}{CCCCCC}{\textcolor{black}{\textsf{\,50\,}}} \fcolorbox{black}{CCCCCC}{\textcolor{black}{\textsf{\,50\,}}} \fcolorbox{black}{111111}{\textcolor{white}{\textsf{100}}} \fcolorbox{black}{CCCCCC}{\textcolor{black}{\textsf{\,50\,}}} $$

上图展示了样例 11 的图案。彩带有六节,节中的数字表示要染的颜色深浅级别。数字越大表示颜色越深。这可以通过三个染色步骤完成:

  1. 用深浅级别为 5050 的红色染料染整条彩带;
  2. 然后用深浅级别为 100100 的更深色染料染左起第二节;
  3. 用深浅级别为 100100 的染料染第五节。

编写一个程序,计算制作计划条纹图案所需的最少染色步骤数。

输入格式

仅一组数据,格式如下所示:

nn
d1d_1 d2d_2 \cdot \cdot \cdot dnd_n

每个测试点以一个整数 nn (1n1001 \le n \le 100) 开始,表示彩带的节数。第二行包含 nn 个整数,d1,d2,,dnd_1,d_2,\ldots ,d_n,描述了这 nn 节彩带计划的深浅级别。其中,did_i 表示第 ii 节彩带计划的深浅级别,其值介于 11100100 之间(含两端),数值越大表示颜色越深。

输出格式

输出一行一个整数,表示制作计划条纹图案所需的最少染色步骤数。

6
50 100 50 50 100 50
3
5
1 2 3 2 1
3
5
3 2 1 2 3
5
10
1 20 100 1 20 20 100 100 20 20
5
5
10 60 100 30 10
4