CF1474E What Is It?

题目描述

给定一个 $n$,你需要构造一个排列 $\{p_i\}$ 和一个操作序列。 每次操作你可以交换 $i$ 位置和 $j$ 位置的值,要求 $i\ne j$ 且 $i = p _ j$,并获得 $(j-i)^2$ 的贡献。 要求最后满足 $p_i = i$。 你需要最大化总贡献。 可以证明,操作次数 $

输入格式

多组数据,每组数据给定一个 $n$。

输出格式

首先,第一行一个数,表示你求出的最大贡献。 然后第二行给出你构造的 $\{p_i\}$。 第三行给出一个数 $m$,表示你需要的操作次数。 接下来 $m$ 行,每行两个数,代表当前操作的 $i$ 和 $j$(注意,**有顺序要求**) translate by peal_frog

说明/提示

For $ n = 2 $ , $ p $ can be either $ [1, 2] $ or $ [2, 1] $ . In the first case $ p $ is already identity, otherwise robot will make it an identity permutation in $ 1 $ second regardless of choise $ i $ and $ j $ on the first operation. For $ n = 3 $ , $ p $ can be equals $ [2, 3, 1] $ . - If robot will select $ i = 3, j = 2 $ on the first operation, $ p $ will become $ [2, 1, 3] $ in one second. Now robot can select only $ i = 1, j = 2 $ or $ i = 2, j = 1 $ . In both cases, $ p $ will become identity in one more second ( $ 2 $ seconds in total). 4. If robot will select $ i = 1, j = 3 $ on the first operation, $ p $ will become $ [1, 3, 2] $ in four seconds. Regardless of choise of $ i $ and $ j $ on the second operation, $ p $ will become identity in five seconds. We can show, that for permutation of length $ 3 $ robot will always finish all operation in no more than $ 5 $ seconds.