AT_joi2017ho_e.縄 (Rope)
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
现有一条由 N 根细绳组成的绳子,这些细绳的颜色有 M 种。你的任务是编写一个程序,计算出每种颜色在绳子长度为 2 且包含该颜色时所需的最小成本。
输入格式
标准输入包含以下数据:
- 第 1 行是两个用空格分隔的整数 N 和 M,表示有 N 根细绳和 M 种颜色。
- 第 2 行包含 N 个整数 C1,C2,…,CN,其中 Ci 表示从左到右第 i 根细绳的颜色。
输出格式
针对每种颜色,输出共 M 行。第 c 行(1≤c≤M)输出绳子包含颜色 c 且长度为 2 的最小成本。
输入输出样例
输入#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
说明/提示
任务要求
根据给定的细绳颜色,计算出使得绳子包含指定颜色并且长度为 2 时所需的最小成本。
限制条件
所有输入数据需满足以下条件:
- 2≤N≤1000000。
- 1≤M≤N。
- 1≤Ci≤M(1≤i≤N)。
- 对于每个颜色 c(1≤c≤M),都至少存在一个 i 使得 Ci=c。
子任务
子任务 1 [15 分]
满足以下条件:
- N≤15。
- M≤10。
子任务 2 [30 分]
满足以下条件:
- N≤100000。
- M≤10。
子任务 3 [10 分]
满足以下条件:
- N≤100000。
- M≤500。
子任务 4 [25 分]
满足以下条件:
- M≤5000。
子任务 5 [20 分]
没有额外的限制。
示例解释 1
可以通过以下操作,以 2 的成本使绳子包含颜色 1 并且长度为 2:
- 将第 2 根细绳涂成颜色 1,并将其与右边的细绳合并。此时绳子的颜色顺序为 1,3,3,2,厚度顺序为 2,1,1,1。
- 将第 4 根细绳涂成颜色 1,并进行合并。此时绳子的颜色顺序为 3,1,以及厚度为 2,3。
同样,可以通过以下操作,以成本 1 使绳子包含颜色 2 和 3 且长度为 2:
- 第 3 根细绳涂成颜色 2,并进行合并。最终颜色顺序为 2,3,厚度为 3,2。
示例解释 2
可以通过以下操作,以 2 的成本使绳子包含颜色 1 并且长度为 2:
- 在第 1 根细绳上涂色为 1,然后合并。注意,由于此处细绳的厚度为 2,因此费用为 2。
- 将第 3 根细绳直接合并,最终顺序为 2,3,厚度为 3,2。
示例解释 3
进行一次合并之前,允许对多个细绳进行涂色调整。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?