CF1927G Paint Charges

题目描述

给定一个长度为 $n$ 的水平网格带。第 $i$ 个格子中有一个大小为 $a_i$ 的涂料装置。每个装置可以: - 向左使用 —— 那么距离 $a_i$ 以内的所有左侧格子(从 $\max(i - a_i + 1, 1)$ 到 $i$,包括 $i$)都会被涂色; - 向右使用 —— 那么距离 $a_i$ 以内的所有右侧格子(从 $i$ 到 $\min(i + a_i - 1, n)$,包括 $i$)都会被涂色; - 或者不使用。 注意,每个装置最多只能使用一次(即不能同时向左和向右使用)。同一个格子可以被多次涂色。 问:最少需要使用多少次装置,才能将整个网格带的所有格子都涂色?

输入格式

输入的第一行为一个整数 $t$($1 \le t \le 100$),表示测试用例的数量。接下来是 $t$ 个测试用例的描述。 每个测试用例包含两行。第一行为一个整数 $n$($1 \le n \le 100$),表示网格带的格子数量。第二行为 $n$ 个正整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le n$),其中 $a_i$ 表示第 $i$ 个格子的涂料装置的大小。 保证所有测试用例中 $n$ 的总和不超过 $1000$。

输出格式

对于每个测试用例,输出一个整数,表示最少需要使用多少次装置才能将所有格子涂色。

说明/提示

在样例的第三个测试用例中,只需将第 $1$ 个格子的装置向右使用,就可以覆盖第 $1$ 和第 $2$ 个格子。 在样例的第九个测试用例中,需要: - 将第 $3$ 个格子的装置向左使用,覆盖第 $1$ 到第 $3$ 个格子; - 将第 $5$ 个格子的装置向左使用,覆盖第 $4$ 到第 $5$ 个格子; - 将第 $7$ 个格子的装置向左使用,覆盖第 $6$ 到第 $7$ 个格子。 在样例的第十一个测试用例中,需要: - 将第 $5$ 个格子的装置向右使用,覆盖第 $5$ 到第 $10$ 个格子; - 将第 $7$ 个格子的装置向左使用,覆盖第 $1$ 到第 $7$ 个格子。 由 ChatGPT 4.1 翻译