错位对只有一对的排列只能是从1~n中交换相邻的一对,比如:1、2、3、5、4、6这样的,所以直接枚举所有的符合条件的排列即可,先计算一下原排列和1~n中相同的位置有多少,然后再枚举交换相邻的一对的位置,再特殊处理一下,过程中取最小值即可。
小明正在准备一组测试数据,需要一个具有特殊性质的序列。他手头有一个长度为 n 的数组,数组中恰好包含 1 到 n 的每个正整数一次。他可以任意地修改数组中的元素:每次操作可以将任意一个位置上的元素替换为任意整数值。
修改完成后,最终数组需要同时满足以下两个条件:
其中,错位对定义为满足 i<j 且 ai>aj 的二元组 (i,j)。
请问,小明最少需要修改多少个元素,才能使数组满足要求?
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册