AT_arc204_b.[ARC204B] Sort Permutation

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定正整数 NN、KK,以及一个排列 P=(P1,P2,…,PNK)P = (P_{1}, P_{2}, \dots, P_{NK}),该排列是 11 到 NKNK 的一个全排列。

Alice 反复执行以下操作,将 PP 排序为升序:

  • 选择整数 ii 和 jj(i≠ji \neq j,1≤i,j≤NK1 \leq i, j \leq NK),交换 PiP_{i} 和 PjP_{j}。如果 ∣i−j∣|i - j| 是 NN 的倍数,Alice 获得 11 分。

Alice 以最少的操作次数将 PP 排序为升序,并在此条件下最大化她获得的分数。

请输出 Alice 获得的分数总和。

输入格式

输入从标准输入中给出,格式如下:

NN KK P1P_{1} P2P_{2} …\dots PNKP_{NK}

输出格式

输出答案。

输入输出样例

  • 输入#1

    3 2
    1 6 5 3 2 4

    输出#1

    2
  • 输入#2

    1 1
    1

    输出#2

    0
  • 输入#3

    4 6
    10 24 3 4 8 14 5 2 22 9 21 1 15 6 13 23 18 12 7 17 19 16 20 11

    输出#3

    7

说明/提示

样例解释 1

例如,可以通过如下四次操作将 PP 排序为升序:

  • 选择 (i,j)=(2,5)(i, j) = (2, 5) 进行操作。操作后,P=(1,2,5,3,6,4)P = (1, 2, 5, 3, 6, 4)。
  • 选择 (i,j)=(4,6)(i, j) = (4, 6) 进行操作。操作后,P=(1,2,5,4,6,3)P = (1, 2, 5, 4, 6, 3)。
  • 选择 (i,j)=(3,5)(i, j) = (3, 5) 进行操作。操作后,P=(1,2,6,4,5,3)P = (1, 2, 6, 4, 5, 3)。
  • 选择 (i,j)=(3,6)(i, j) = (3, 6) 进行操作。操作后,P=(1,2,3,4,5,6)P = (1, 2, 3, 4, 5, 6)。

在上述四次操作中,第 11 次和第 44 次操作 Alice 各获得 11 分,因此总共获得 22 分。

上述操作序列是在最少操作次数下,最大化得分的一种方案,因此输出 22。

数据范围

  • 1≤N≤5001 \leq N \leq 500
  • 1≤K≤101 \leq K \leq 10
  • (P1,P2,…,PNK)(P_{1}, P_{2}, \dots, P_{NK}) 是 11 到 NKNK 的一个全排列
  • 所有输入值均为整数。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页