AT_arc082_b.[ABC072D] Derangement
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个由 1,2,…,N 组成的排列 p1,p2,…,pN。你可以进行若干次(可以为 0 次)如下操作:
操作:选择排列中相邻的两个数并交换它们。
请通过若干次操作,使得对于任意的 1≤i≤N,都满足 pi=i。请你求出所需操作的最小次数。
输入格式
输入通过标准输入按以下格式给出:
N p1 p2 … pN
输出格式
输出所需操作的最小次数。
输入输出样例
输入#1
5 1 4 3 5 2
输出#1
2
输入#2
2 1 2
输出#2
1
输入#3
2 2 1
输出#3
0
输入#4
9 1 2 4 9 5 8 7 3 6
输出#4
3
说明/提示
限制条件
- 2≤N≤105
- p1,p2,…,pN 是 1,2,…,N 的一个排列。
样例说明 1
将 1 与 4 交换,然后将 1 与 3 交换,排列变为 4,3,1,5,2,此时满足题目要求。这是所需的最少交换次数,因此答案为 2。
样例说明 2
只要交换 1 与 2 即可满足条件。
样例说明 3
初始排列已经满足条件。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?