AT_arc202_a.[ARC202A] Merge and Increment
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
满足以下条件的整数序列被称作好的序列。
- 可以通过执行以下合并操作零次或更多次使得序列长度变为 1。
- 选择一个相邻元素相同的位置。令 x 为这两个元素的值。删除这两个元素并在它们的位置上插入一个 x+1。
比如,如果我们对 (1,3,3,5) 的第二个和第三个位置进行操作,序列将会变为 (1,4,5)。
- 选择一个相邻元素相同的位置。令 x 为这两个元素的值。删除这两个元素并在它们的位置上插入一个 x+1。
有一个长度为 N 的整数序列 A=(A1,A2,⋯,AN)。
你可以执行以下插入操作零次或更多次。
- 选择任意整数 x。在 A 的任意位置(可能是开头或结尾)插入一个 x。
求最少要执行多少次插入操作能使 A 成为好的序列。在本题数据范围下的任意 N 和 A 都能通过有限次插入操作变为好的序列。
多组数据。
输入格式
第一行一个整数 T(1≤T≤2×105),表示数据组数。
对于每组数据,第一行一个整数 N(1≤N≤2×105)。
第二行 N 个整数 A1,A2,⋯,AN(1≤Ai≤109)。
保证单个测试点中 N 的和不超过 2×105。
输出格式
对于每组数据,输出一行一个整数表示使 A 成为好的序列需要的最小操作次数。
输入输出样例
输入#1
4 3 4 2 2 1 1 5 1 3 5 4 2 10 766294630 440423914 59187620 725560241 585990757 965580536 623321126 550925214 122410709 549392045
输出#1
1 0 6 1889132222
说明/提示
样例解释
对于第一组数据,通过在 A 的末尾插入一个 3 得到的序列 (4,2,2,3) 是好序列,因为它的长度可以通过如下步骤的合并操作减为 1。
- 删除第二个位置和第三个位置的元素 2 并插入一个 2+1=3。序列变为 (4,3,3)。
- 删除第二个位置和第三个位置的元素 3 并插入一个 3+1=4。序列变为 (4,4)。
- 删除第一个位置和第二个位置的元素 4 并插入一个 4+1=5。序列变为 (5)。
不可能用少于一次插入操作使得 A 变成好的序列,故答案为 1。
输入解题思路,AI测评打分。不知道怎么写?