#ABC357E. 函数图中的可达性

函数图中的可达性

函数图中的可达性

题目描述

有一个顶点编号为 11NN、共有 NN 条边的有向图。

每个顶点的出度都是 11,从顶点 ii 出发的边指向顶点 aia_i

求满足「从顶点 uu 可以到达顶点 vv」的顶点对 (u,v)(u, v) 的数量。

这里,如果存在长度 K+1K+1 的顶点序列 w0,w1,,wKw_0, w_1, \dots, w_K 满足以下条件,则称从顶点 uu 可以到达顶点 vv。特别地,当 u=vu = v 时总是可以到达。

  • w0=uw_0 = u
  • wK=vw_K = v
  • 对每个 0i<K0 \leq i \lt K,都存在从顶点 wiw_i 到顶点 wi+1w_{i+1} 的边。

输入格式

输入按以下格式从标准输入给出:

NN
a1a_1 a2a_2 \dots aNa_N

输出格式

输出满足「从顶点 uu 可以到达顶点 vv」的顶点对 (u,v)(u, v) 的数量。

样例

4
2 1 1 4
8

从顶点 11 可以到达的顶点是 1,21, 2

从顶点 22 可以到达的顶点是 1,21, 2

从顶点 33 可以到达的顶点是 1,2,31, 2, 3

从顶点 44 可以到达的顶点是 44

因此,满足条件的顶点对 (u,v)(u, v) 数量为 88

注意,从顶点 44 出发的边是自环,即指向顶点 44 本身。

5
2 4 3 1 2
14
10
6 10 4 1 5 9 8 6 5 1
41

数据范围

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1aiN1 \leq a_i \leq N
  • 输入均为整数
难度 提高
通过率
尝试 0
已通过 0
ID
3323
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签