CF1631B.Fun with Even Subarrays

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

You are given an array aa of nn elements. You can apply the following operation to it any number of times:

  • Select some subarray from aa of even size 2k2k that begins at position ll ( 1ll+2k1n1\le l \le l+2\cdot{k}-1\le n , k1k \ge 1 ) and for each ii between 00 and k1k-1 (inclusive), assign the value al+k+ia_{l+k+i} to al+ia_{l+i} .

For example, if a=[2,1,3,4,5,3]a = [2, 1, 3, 4, 5, 3] , then choose l=1l = 1 and k=2k = 2 , applying this operation the array will become a=[3,4,3,4,5,3]a = [3, 4, 3, 4, 5, 3] .

Find the minimum number of operations (possibly zero) needed to make all the elements of the array equal.

输入格式

The input consists of multiple test cases. The first line contains a single integer tt ( 1t21041 \leq t \leq 2 \cdot 10^4 ) — the number of test cases. Description of the test cases follows.

The first line of each test case contains an integer nn ( 1n21051 \leq n \leq 2 \cdot 10^5 ) — the length of the array.

The second line of each test case consists of nn integers a1,a2,,ana_1, a_2, \dots, a_n ( 1ain1 \leq a_i \leq n ) — the elements of the array aa .

It is guaranteed that the sum of nn over all test cases does not exceed 21052 \cdot 10^5 .

输出格式

Print tt lines, each line containing the answer to the corresponding test case — the minimum number of operations needed to make equal all the elements of the array with the given operation.

输入输出样例

  • 输入#1

    5
    3
    1 1 1
    2
    2 1
    5
    4 4 4 2 4
    4
    4 2 1 3
    1
    1

    输出#1

    0
    1
    1
    2
    0

说明/提示

In the first test, all elements are equal, therefore no operations are needed.

In the second test, you can apply one operation with k=1k=1 and l=1l=1 , set a1:=a2a_1 := a_2 , and the array becomes [1,1][1, 1] with 11 operation.

In the third test, you can apply one operation with k=1k=1 and l=4l=4 , set a4:=a5a_4 := a_5 , and the array becomes [4,4,4,4,4][4, 4, 4, 4, 4] .

In the fourth test, you can apply one operation with k=1k=1 and l=3l=3 , set a3:=a4a_3 := a_4 , and the array becomes [4,2,3,3][4, 2, 3, 3] , then you can apply another operation with k=2k=2 and l=1l=1 , set a1:=a3a_1 := a_3 , a2:=a4a_2 := a_4 , and the array becomes [3,3,3,3][3, 3, 3, 3] .

In the fifth test, there is only one element, therefore no operations are needed.

首页