士兵

七夕祭其实告诉我们,对这种二维的任意的排列,我们一定可以找到一种方案,使得在不冲突的情况下(没有两个军人在同一个位置),我们一定可以通过最小的交换次数来达到目的

说一下\(x\)怎么搞

首先有一个显而易见的,对于一个坐标轴上的分布在各个点的许多人,如果要他们进行移动最后相邻,那么最后这个队列中,他们的相对顺序不变。比如说最开始\(x\)从大到小为1号,2号,3号,那么最终队列1号后面一定是2号,2号后面一定是3号。不然的话交换两人的目的地答案不会变差(分多种情况讨论即可)

所以对这一道题目,假设最终队列中第一个人的位置是\(pos\),那么答案就是\(\sum_{i=1}^{n}|x_i-(pos+i)+1|\)

所以对\(x\)排序后(先对\(x\)排序的原因就是我们前面提到的相对顺序是不变的),减去\(i\)即可用中位数做

posted @ 2023-12-07 17:32  最爱丁珰  阅读(3)  评论(0编辑  收藏  举报