CF899E Segments Removal
题目描述
Vasya 有一个长度为 $n$ 的整数数组。
Vasya 对数组执行如下操作:每一步中,他找到最长的一段连续相等的整数(如果有多段满足条件,则选择最左边的一段),并将其删除。例如,如果 Vasya 的数组为 $[13,13,7,7,7,2,2,2]$,那么经过一次操作后会变为 $[13,13,2,2,2]$。
请计算 Vasya 需要进行多少次操作,才能将数组中的所有元素全部移除。
输入格式
第一行包含一个整数 $n$($1 \leq n \leq 200000$),表示数组的长度。
第二行包含 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 10^9$),表示 Vasya 的数组。
输出格式
输出一个整数,表示 Vasya 需要进行多少次操作才能将所有元素移除。
说明/提示
在第一个样例中,Vasya 首先移除第二和第三位置的两个 $5$,数组变为 $[2,2]$。接下来第二步移除第一和第二位置的两个 $2$,数组此时为空。
在第二个样例中,Vasya 需要进行五次操作才能清空数组,每次操作都移除数组的第一个元素。
在第三个样例中,Vasya 需要三次操作。第一次移除所有的 $4$,第二次移除所有的 $100$,第三次移除所有的 $2$。
在第四个样例中,第一次操作移除前两个 $10$,数组变为 $[50,10,50,50]$。第二次操作移除最后两个 $50$,数组为 $[50,10]$。第三次移除剩下的 $50$,数组变为 $[10]$。最后第四次移除唯一剩下的 $10$。此时数组为空。
由 ChatGPT 5 翻译