题目
题意
给你一个数组然后问你有几种k操作在m此交换下,变成给出的数组
k操作为让后k个数到前面去
做题方法
\(m<=\frac{n}{3}\)所以\(m\)最多影响\(\frac{2n}{3}\)个数字,所以还有\(\frac{n}{3}\)个数字需要\(k\)操作影响
\(cnt[k]+2m>=n\)而\(\sum sum[i]=n\)所以\(k\)最多有3个
然后就回归到经典题目给定一个数组回到另一个数组
\(a\)数组为入点\(b\)数组为出点 然后找会形成环 每个环都需要交换的次数为环上的点-1个
代码
#include
#include
#include
#include
#include
#include
#include
#include