题意简化
给定两个数组 \(a,b\),求让 \(\sum{(a_i-b_i)^2}\) 尽可能小所需要的最小交换次数
分析
首先,拆解题目给出的公式(完全平方)
\(\sum{(a_i-b_i)^2}=\sum {{a_i}^2+{b_i}^2-2a_ib_i}\)
可以发现,\(\sum{{a_i}^2+{b_i}^2}\) 是不会变的,那我们只能从 \(\sum 2a_ib_i\) 入手,让它尽可能大,答案就会尽可能小
那么易得,只要让大数和大数相乘,小数和小数相乘,\(a_i b_i\) 就会最大
所以只要将 \(a,b\) 排序就能得到最终序列
问题是我们求的是交换次数
那我们分析一下,其实要求的就是逆序对数量
使用树状数组即可