CF1696D.Permutation Graph

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

A permutation is an array consisting of nn distinct integers from 11 to nn in arbitrary order. For example, [2,3,1,5,4][2,3,1,5,4] is a permutation, but [1,2,2][1,2,2] is not a permutation ( 22 appears twice in the array) and [1,3,4][1,3,4] is also not a permutation ( n=3n=3 but there is 44 in the array).

You are given a permutation of 1,2,,n1,2,\dots,n , [a1,a2,,an][a_1,a_2,\dots,a_n] . For integers ii , jj such that 1i<jn1\le i<j\le n , define mn(i,j)\operatorname{mn}(i,j) as mink=ijak\min\limits_{k=i}^j a_k , and define mx(i,j)\operatorname{mx}(i,j) as maxk=ijak\max\limits_{k=i}^j a_k .

Let us build an undirected graph of nn vertices, numbered 11 to nn . For every pair of integers 1i<jn1\le i<j\le n , if mn(i,j)=ai\operatorname{mn}(i,j)=a_i and mx(i,j)=aj\operatorname{mx}(i,j)=a_j both holds, or mn(i,j)=aj\operatorname{mn}(i,j)=a_j and mx(i,j)=ai\operatorname{mx}(i,j)=a_i both holds, add an undirected edge of length 11 between vertices ii and jj .

In this graph, find the length of the shortest path from vertex 11 to vertex nn . We can prove that 11 and nn will always be connected via some path, so a shortest path always exists.

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt ( 1t51041 \le t \le 5\cdot 10^4 ). Description of the test cases follows.

The first line of each test case contains one integer nn ( 1n2.51051\le n\le 2.5\cdot 10^5 ).

The second line of each test case contains nn integers a1a_1 , a2a_2 , \ldots , ana_n ( 1ain1\le a_i\le n ). It's guaranteed that aa is a permutation of 11 , 22 , \dots , nn .

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

输出格式

For each test case, print a single line containing one integer — the length of the shortest path from 11 to nn .

输入输出样例

  • 输入#1

    5
    1
    1
    2
    1 2
    5
    1 4 2 3 5
    5
    2 1 5 3 4
    10
    7 4 8 1 6 10 3 5 2 9

    输出#1

    0
    1
    1
    4
    6

说明/提示

The following are illustrations of constructed graphs in example test cases.

the constructed graph in test case 1 the constructed graph in test case 2 the constructed graph in test case 3 the constructed graph in test case 4 the constructed graph in test case 5

首页