小Why的循环置换
题解
讨论
查看他人的提交
题号:NC253680
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
小Why有一个长度为
的全排列
,定义
表示元素
在
中的下标。
小Why先将上述
个元素映射为图
中的点,之后对于每个点
,都向
连一条边。在完成这些操作后,图
中一共出现了
个环(包括自环)。
现在小Why告诉你可以对
执行以下操作任意多次:
选择
中任意两个不同的元素,交换它们的位置。
小Why只打算告诉你
和
,他想考考你至少需要
多少次
操作才能使得
单调递增。
输入描述:
第一行包含
两个整数
,表示图
中点的个数和环的个数。
输出描述:
输出一个整数,表示最少操作次数。
示例1
输入
复制
2 1
2 1
输出
复制
1
1
小Why的循环置换
返回全部题目
列表加载中...
2 1
1