CF1787D.Game on Axis
普及+/提高
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
There are n points 1,2,…,n, each point i has a number ai on it. You're playing a game on them. Initially, you are at point 1. When you are at point i, take following steps:
- If 1≤i≤n, go to i+ai,
- Otherwise, the game ends.
Before the game begins, you can choose two integers x and y satisfying 1≤x≤n, −n≤y≤n and replace ax with y (set ax:=y). Find the number of distinct pairs (x,y) such that the game that you start after making the change ends in a finite number of steps.
Notice that you do not have to satisfy ax=y.
有 n 个点 1,2,…,n,每个点 i 上有一个数 ai。你在这些点上进行一个游戏。初始时,你位于点 1。当你位于点 i 时,执行以下步骤:
- 若 1≤i≤n,则移动到点 i+ai;
- 否则,游戏结束。
在游戏开始前,你可以选择两个整数 x 和 y,满足 1≤x≤n 且 −n≤y≤n,并将 ax 替换为 y(即令 ax:=y)。求满足“在执行该修改后开始的游戏能在有限步内结束”的不同数对 (x,y) 的个数。
注意:你无需满足 ax=y。
输入格式
Each test contains multiple test cases. The first line contains an integer t (1≤t≤104) — the number of test cases.
The first line of each test case contains one integer n (1≤n≤2⋅105) — the number of points.
The second line contains n integers a1,a2,…,an (−n≤ai≤n) — the numbers on the axis.
It's guaranteed that the sum of n does not exceed 2⋅105.
每个测试包含多个测试用例。第一行包含一个整数 t(1≤t≤104)—— 测试用例的数量。
每个测试用例的第一行包含一个整数 n(1≤n≤2⋅105)—— 点的数量。
第二行包含 n 个整数 a1,a2,…,an(−n≤ai≤n)—— 数轴上的数值。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
For each test case, print a line containing a single integer — the number of distinct pairs (x,y) with which the game ends.
对于每个测试用例,输出一行,包含一个整数——游戏结束时不同的数对 (x,y) 的数量。
输入输出样例
输入#1
9 1 0 2 -1 0 2 1 -1 2 1 1 3 -1 -2 -1 3 1 -2 -1 4 -1 4 -2 1 5 1 1 1 1 -4 5 1 1 1 1 1
输出#1
2 8 6 7 20 17 34 30 40
说明/提示
In the first test case, the pairs (x,y) with which the game ends are (1,−1) and (1,1), corresponding to the routes 1→0 and 1→2. Note that (1,2) is invalid since when n=1, y=2 violates −n≤y≤n. (1,0) is also invalid since you will go from 1 to 1 forever.
In the second test case, the pairs are (1,−2),(1,−1),(1,2),(2,−2),(2,−1),(2,0),(2,1),(2,2).
In the fourth test case, the pairs are (1,−2),(1,−1),(1,1),(1,2),(2,−2),(2,1),(2,2).
在第一个测试用例中,游戏结束时的数对 (x,y) 为 (1,−1) 和 (1,1),分别对应路径 1→0 和 1→2。注意,(1,2) 是无效的,因为当 n=1 时,y=2 违反了约束条件 −n≤y≤n;(1,0) 同样无效,因为此时你会从 1 永远地转移到 1。
在第二个测试用例中,有效的数对为 (1,−2),(1,−1),(1,2),(2,−2),(2,−1),(2,0),(2,1),(2,2)。
在第四个测试用例中,有效的数对为 (1,−2),(1,−1),(1,1),(1,2),(2,−2),(2,1),(2,2)。
输入解题思路,AI测评打分。不知道怎么写?