P10914 [蓝桥杯 2024 国 B] 跳石头

题目描述

小明正在和朋友们玩跳石头的小游戏,一共有 $n$ 块石头按 $1$ 到 $n$ 顺序排成一排,第 $i$ 块石头上写有正整数权值 $c_i$。 如果某一时刻小明在第 $j$ 块石头,那么他可以选择跳向第 $j + c_j$ 块石头(前提 $j + c_j \le n$)或者跳向第 $2j$ 块石头(前提 $2j \le n$),没有可跳跃的目标时游戏结束。 假如小明选择从第 $x$ 块石头开始跳跃,如果某块石头**有可能**被小明经过(“经过” 指存在某一时刻小明在这个石头处),则将这块石头的权值纳入得分集合 $S_x$,那么小明从第 $x$ 块石头开始跳跃的得分为 $|S_x|$。 比如如果小明从第 $x$ 块石头出发,所有可能经过的石头上的权值分别为 $5,3,5,2, 3$,那么 $S_x = \{5, 3, 2\}$ 得分为 $|S_x| = 3$。小明可以任选一块石头开始跳跃,请求出小明最多能获得的分数。

输入格式

输出格式

说明/提示

**【样例说明】** 从第一块石头出发得分最多,路径有以下几种: 1. $1$ 号 $\to 5$ 号:选择从 $1$ 号跳到 $1 + c_1=5$ 号。 2. $1$ 号 $\to 2$ 号 $\to 5$ 号:第一次选择从 $1$ 号跳到 $2 \times 1=2$ 号,第二次选择从 $2$ 号跳到 $2 + c_2 = 5$ 号。 3. $1$ 号 $\to 2$ 号 $\to 4$ 号:第一次选择从 $1$ 号跳到 $2 \times 1=2$ 号,第二次选择从 $2$ 号跳到 $2 \times 2 = 4$ 号。 所以所有可能经过的石头的权值的集合为 $S_1 = \{c_1, c_2, c_4, c_5\} = \{4, 3, 2, 1\}$,得分为 $|S_1| = 4$。 **【评测用例规模与约定】** 对于 $20\%$ 的评测用例,保证 $n \le 20$。 对于 $100\%$ 的评测用例,保证 $n \le 40000$,$c_i \le n$。