AT_joi2017ho_e.縄 (Rope)

通过率:0%

AC君温馨提醒

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

题目描述

现有一条由 NN 根细绳组成的绳子,这些细绳的颜色有 MM 种。你的任务是编写一个程序,计算出每种颜色在绳子长度为 22 且包含该颜色时所需的最小成本。

输入格式

标准输入包含以下数据:

  • 第 1 行是两个用空格分隔的整数 NN 和 MM,表示有 NN 根细绳和 MM 种颜色。
  • 第 2 行包含 NN 个整数 C1,C2,…,CNC_1, C_2, \ldots, C_N,其中 CiC_i 表示从左到右第 ii 根细绳的颜色。

输出格式

针对每种颜色,输出共 MM 行。第 cc 行(1≤c≤M1 \leq c \leq M)输出绳子包含颜色 cc 且长度为 22 的最小成本。

输入输出样例

  • 输入#1

    5 3
    1 2 3 3 2

    输出#1

    2
    1
    1
  • 输入#2

    7 3
    1 2 2 1 3 3 3

    输出#2

    2
    2
    2
  • 输入#3

    10 3
    2 2 1 1 3 3 2 1 1 2

    输出#3

    3
    3
    4

说明/提示

任务要求

根据给定的细绳颜色,计算出使得绳子包含指定颜色并且长度为 22 时所需的最小成本。

限制条件

所有输入数据需满足以下条件:

  • 2≤N≤1 000 0002 \leq N \leq 1\,000\,000。
  • 1≤M≤N1 \leq M \leq N。
  • 1≤Ci≤M1 \leq C_i \leq M(1≤i≤N1 \leq i \leq N)。
  • 对于每个颜色 cc(1≤c≤M1 \leq c \leq M),都至少存在一个 ii 使得 Ci=cC_i = c。

子任务

子任务 1 [15 分]

满足以下条件:

  • N≤15N \leq 15。
  • M≤10M \leq 10。

子任务 2 [30 分]

满足以下条件:

  • N≤100 000N \leq 100\,000。
  • M≤10M \leq 10。

子任务 3 [10 分]

满足以下条件:

  • N≤100 000N \leq 100\,000。
  • M≤500M \leq 500。

子任务 4 [25 分]

满足以下条件:

  • M≤5 000M \leq 5\,000。

子任务 5 [20 分]

没有额外的限制。

示例解释 1

可以通过以下操作,以 2 的成本使绳子包含颜色 1 并且长度为 2:

  • 将第 2 根细绳涂成颜色 1,并将其与右边的细绳合并。此时绳子的颜色顺序为 1,3,3,21, 3, 3, 2,厚度顺序为 2,1,1,12, 1, 1, 1。
  • 将第 4 根细绳涂成颜色 1,并进行合并。此时绳子的颜色顺序为 3,13, 1,以及厚度为 2,32, 3。

同样,可以通过以下操作,以成本 1 使绳子包含颜色 2 和 3 且长度为 2:

  • 第 3 根细绳涂成颜色 2,并进行合并。最终颜色顺序为 2,32, 3,厚度为 3,23, 2。

示例解释 2

可以通过以下操作,以 2 的成本使绳子包含颜色 1 并且长度为 2:

  • 在第 1 根细绳上涂色为 1,然后合并。注意,由于此处细绳的厚度为 2,因此费用为 2。
  • 将第 3 根细绳直接合并,最终顺序为 2,32, 3,厚度为 3,23, 2。

示例解释 3

进行一次合并之前,允许对多个细绳进行涂色调整。

本翻译由 AI 自动生成

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

首页