CF884C Bertown Subway

题目描述

Bertown 的地铁建设接近完成!Berland 总统即将到访这座城市,亲自视察新地铁。 该地铁共有 $n$ 个车站,建设过程完全遵循 Bertown 交通法: 1. 对于每个车站 $i$,存在且仅存在一辆从该站发车的列车,其终点站为 $p_i$,可能有 $p_i = i$; 2. 对于每个车站 $i$,存在且仅存在一个车站 $j$,使得 $p_j = i$。 总统将会考察地铁的便捷程度。便捷程度定义为有序对 $(x, y)$ 的数量,使得某人可以从车站 $x$ 出发,乘坐若干次(可以为零次)地铁,最终到达车站 $y$($1 \leq x, y \leq n$)。 Bertown 市长认为,如果地铁不够便利,总统可能会考虑更换市长(当然,现任市长不希望汇报真正的数据)。在总统到访前,市长有机会调整某些地铁路径,从而更改不超过两个车站 $p_i$ 的取值。当然,改造后依然要确保地铁网络符合 Bertown 交通法。 市长希望以这样的方式更改,使得地铁系统的便捷程度最大。请帮助他计算在调整后能够达到的最大便捷程度。

输入格式

第一行包含一个整数 $n$($1 \leq n \leq 100000$),表示地铁车站数量。 第二行包含 $n$ 个整数 $p_1, p_2, \ldots, p_n$($1 \leq p_i \leq n$),表示当前地铁结构,所有 $p_i$ 互不相同。

输出格式

输出一个整数,代表能够达到的最大便捷程度。

说明/提示

在第一个样例中,市长可以将 $p_2$ 改为 $3$,$p_3$ 改为 $1$,这样所有 $9$ 个有序对都成立:$(1,1)$、$(1,2)$、$(1,3)$、$(2,1)$、$(2,2)$、$(2,3)$、$(3,1)$、$(3,2)$、$(3,3)$。 在第二个样例中,市长可以将 $p_2$ 改为 $4$,$p_3$ 改为 $5$。 由 ChatGPT 5 翻译