AT_abc268_e.[ABC268E] Chinese Restaurant (Three-Star Version)

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

在转盘桌的周围,按照逆时针方向等间隔地排列着人 00、人 11、…\ldots、人 N−1N-1。此外,在人 ii 的正前方放着菜品 pip_i。

你可以进行如下操作任意多次(包括 00 次):

  • 将转盘桌逆时针旋转 1N\frac{1}{N} 圈。这样一来,(在这次操作之前)人 ii 正前方的菜品会移动到人 (i+1) mod N(i+1)\bmod N 的正前方。

在操作完成后,对于每个人 ii,其不满度定义为:使得菜品 ii 被放在了人 (i−k) mod N(i-k)\bmod N 或 (i+k) mod N(i+k)\bmod N 的正前方的最小非负整数 kk。

请你求出 NN 个人的不满度总和的最小值。

a mod ma\bmod m 表示对于整数 aa 和正整数 mm,a mod ma\bmod m 是满足 a−xa-x 为 mm 的倍数的 00 以上小于 mm 的整数 xx。(可以证明,这样的 xx 是唯一确定的。)

输入格式

输入以以下格式从标准输入读入。

NN p0p_0 p1p_1 …\ldots pN−1p_{N-1}

输出格式

请输出答案。

输入输出样例

  • 输入#1

    4
    1 2 0 3

    输出#1

    2
  • 输入#2

    3
    0 1 2

    输出#2

    0
  • 输入#3

    10
    3 9 6 1 7 2 8 0 5 4

    输出#3

    20

说明/提示

限制条件

  • 3≤N≤2×1053 \leq N \leq 2 \times 10^5
  • 0≤pi≤N−10 \leq p_i \leq N-1
  • 若 i≠ji \neq j,则 pi≠pjp_i \neq p_j
  • 输入均为整数

样例解释 1

若进行 11 次操作,情况如下图所示。

此时,不满度总和为 22,具体如下:

  • 人 00 的不满度为 11,因为菜品 00 被放在了人 3 (=(0−1) mod 4)3\ (=(0-1)\bmod 4) 的正前方。
  • 人 11 的不满度为 00,因为菜品 11 被放在了人 1 (=(1+0) mod 4)1\ (=(1+0)\bmod 4) 的正前方。
  • 人 22 的不满度为 00,因为菜品 22 被放在了人 2 (=(2+0) mod 4)2\ (=(2+0)\bmod 4) 的正前方。
  • 人 33 的不满度为 11,因为菜品 33 被放在了人 0 (=(3+1) mod 4)0\ (=(3+1)\bmod 4) 的正前方。

无法使不满度总和小于 22,因此答案为 22。

由 ChatGPT 4.1 翻译

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

首页