AT_abc296_e.[ABC296E] Transition Game

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个长度为 NN 的数列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N)。其中,每个 AiA_i(1≤i≤N1\leq i\leq N)满足 1≤Ai≤N1\leq A_i\leq N。

高桥君和青木君要进行 NN 次游戏。第 ii 次游戏(i=1,2,…,Ni=1,2,\ldots,N)的规则如下:

  1. 青木君指定一个正整数 KiK_i。

  2. 听到青木君指定的 KiK_i 后,高桥君选择一个 11 到 NN 之间的整数 SiS_i,并写在黑板上。

  3. 接下来,重复 KiK_i 次如下操作:

    • 如果黑板上写着 xx,则擦掉它,并写上 AxA_x。

经过 KiK_i 次操作后,如果黑板上写着的整数是 ii,则高桥君获胜,否则青木君获胜。
这里,Ki,SiK_i,S_i 可以对每个 i=1,2,…,Ni=1,2,\ldots,N 独立选择。

当两人都采取对自己最有利的策略时,请你求出 NN 次游戏中高桥君能获胜的次数。

输入格式

输入以如下格式从标准输入读入:

NN A1A_1 A2A_2 …\ldots ANA_N

输出格式

输出当双方都采取最优策略时,高桥君能获胜的游戏次数。

输入输出样例

  • 输入#1

    3
    2 2 3

    输出#1

    2
  • 输入#2

    2
    2 1

    输出#2

    2

说明/提示

限制条件

  • 1≤N≤2×1051\leq N\leq 2\times 10^5
  • 1≤Ai≤N1\leq A_i\leq N
  • 输入均为整数

样例解释 1

在第 11 次游戏中,如果青木君指定 K1=2K_1=2,无论高桥君选择 S1=1,2,3S_1=1,2,3 中的哪一个,都无法获胜。例如,高桥君如果最开始在黑板上写 S1=1S_1=1,经过两次操作,黑板上的数依次变为 1→2(=A1)1\to 2(=A_1),2→2(=A2)2\to 2(=A_2),最终黑板上的数为 2(≠1)2(\neq 1),因此青木君获胜。
而在第 2,32,3 次游戏中,无论青木君指定的 KiK_i 是多少,高桥君都可以分别选择 2,32,3 作为初始数字获胜。
因此,当双方都采取最优策略时,高桥君能获胜的游戏为第 2,32,3 次,共 22 次,所以输出 22。

样例解释 2

在第 11 次游戏中,高桥君可以根据青木君指定的 K1K_1 的奇偶性,若为奇数则选择 22,若为偶数则选择 11,从而获胜。同理,在第 22 次游戏中也存在获胜的方法,因此第 1,21,2 次游戏高桥君都能获胜,答案为 22。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页