AT_arc202_a.[ARC202A] Merge and Increment

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

满足以下条件的整数序列被称作好的序列。

  • 可以通过执行以下合并操作零次或更多次使得序列长度变为 11。
    • 选择一个相邻元素相同的位置。令 xx 为这两个元素的值。删除这两个元素并在它们的位置上插入一个 x+1x+1。
      比如,如果我们对 (1,3,3,5)(1,3,3,5) 的第二个和第三个位置进行操作,序列将会变为 (1,4,5)(1,4,5)。

有一个长度为 NN 的整数序列 A=(A1,A2,⋯ ,AN)A=(A_1,A_2,\cdots,A_N)。

你可以执行以下插入操作零次或更多次。

  • 选择任意整数 xx。在 AA 的任意位置(可能是开头或结尾)插入一个 xx。

求最少要执行多少次插入操作能使 AA 成为好的序列。在本题数据范围下的任意 NN 和 AA 都能通过有限次插入操作变为好的序列。

多组数据。

输入格式

第一行一个整数 T(1≤T≤2×105)T(1\le T\le 2\times 10^5),表示数据组数。

对于每组数据,第一行一个整数 N(1≤N≤2×105)N(1\le N\le 2\times 10^5)。

第二行 NN 个整数 A1,A2,⋯ ,AN(1≤Ai≤109)A_1,A_2,\cdots,A_N(1\le A_i\le 10^9)。

保证单个测试点中 NN 的和不超过 2×1052\times 10^5。

输出格式

对于每组数据,输出一行一个整数表示使 AA 成为好的序列需要的最小操作次数。

输入输出样例

  • 输入#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

说明/提示

样例解释

对于第一组数据,通过在 AA 的末尾插入一个 33 得到的序列 (4,2,2,3)(4,2,2,3) 是好序列,因为它的长度可以通过如下步骤的合并操作减为 11。

  • 删除第二个位置和第三个位置的元素 22 并插入一个 2+1=32+1=3。序列变为 (4,3,3)(4,3,3)。
  • 删除第二个位置和第三个位置的元素 33 并插入一个 3+1=43+1=4。序列变为 (4,4)(4,4)。
  • 删除第一个位置和第二个位置的元素 44 并插入一个 4+1=54+1=5。序列变为 (5)(5)。

不可能用少于一次插入操作使得 AA 变成好的序列,故答案为 11。

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

首页