P13925 [POKATT 2024] 联合猫国 / The Paw-litical Game
题目描述
Gattekatt 这个国家形状非常奇特,极其狭长,这导致它的 $N$ 个城市各自占据了国家的一段区间。
这些城市从左到右依次编号为 1 到 $N$。每个城市都有一群猫。有趣的是,猫的数量总是 $2$ 的正整数幂。 (Gattekatt 有很多很多猫)。
为了让国家为潜在的老鼠入侵做好准备,大家希望尽可能多的城市能够联合起来。
不幸的是,这些城市对于愿意和谁合作非常挑剔。对于两个城市 $a$ 和 $b$ 来说,要合并必须满足以下条件:
- 城市 $a$ 和城市 $b$ 是相邻的。
- 城市 $a$ 和城市 $b$ 的猫的数量完全相同。这是因为城市的猫数量与该城市的政治影响力直接相关,一个城市不会考虑与它认为政治影响力较低的城市合作。
当两个相邻的城市 $a$ 和 $b$(每个城市都有 $2^k$ 只猫)决定合并时,它们会形成一个拥有 $2^{k+1}$ 只猫的新城市。
这个新城市可以继续与原城市 $a$ 左边的城市或原城市 $b$ 右边的城市进行合并。
Gattekatt 的居民们现在希望你帮助计算,如果以最优的顺序进行合并,最终可以剩下的最少城市数量是多少。
输入格式
输入的第一行包含一个整数 $N$($1 \leq N \leq 10^6$)。
输入的第二行包含 $N$ 个整数 $k_1, k_2, \dots, k_N$ ($0 \leq k_i \leq 10^9$)。
每个 $k_i$ 表示第 $i$ 个城市有 $2^{k_i}$ 只猫作为居民。
输出格式
输出一个整数:如果城市以最优顺序合并,最终可以剩下的最少城市数量。
说明/提示
### 样例 1 解释
首先,我们计算每个城市的猫的数量($2^{k_i}$)。
```
4 4 8 8 8
```
这里,我们展示一个最优的城市合并序列。
最右边的两个城市合并成一个拥有 16 只猫的城市:
```
4 4 8 16
```
之后,两个 4 合并成一个拥有 8 只猫的城市:
```
8 8 16
```
之后,两个 8 合并成一个拥有 16 只猫的城市:
```
16 16
```
最后,我们可以将两个 16 合并成一个拥有 32 只猫的城市:
```
32
```
因为最后只剩下一个城市,所以答案是 1。
### 子任务
**本题采用捆绑测试。**
| 子任务编号 | 得分 | 限制 |
|:-:|:-:|---|
| $1$ | $7 $| $N \leq 10, k_i \leq 30$ |
| $2$ | $14$ | $N \leq 200, k_i \leq 30$ |
| $3$ | $15$ | $N \leq 2000, k_i \leq 30$ |
| $4$ | $9 $| $N \leq 2000$ |
| $5$ | $37$ | $k_i \leq 30$ |
| $6$ | $18$ | 无额外约束。 |