CFCF2165F.Arctic Acquisition

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 nn 的排列 a1,a2,,ana_1,a_2,\ldots,a_n

对于一个区间 [l,r][l,r]1lrn1\le l\le r\le n),如果它包含一个 21435 子序列,则称其为一个“jagged”区间;也就是说,存在整数 i1,i2,i3,i4,i5i_1,i_2,i_3,i_4,i_5,使得 li1<i2<i3<i4<i5rl\le i_1<i_2<i_3<i_4<i_5\le r,并且 ai2<ai1<ai4<ai3<ai5a_{i_2}<a_{i_1}<a_{i_4}<a_{i_3}<a_{i_5}

你的任务是计算在 n(n+1)2\frac{n(n+1)}{2} 个区间中,有多少个区间是 “jagged” 的。

附:排列指的是长度为 nn 的数组,包含 11nnnn 个互不相同的整数,顺序任意。例如 [2,3,1,5,4][2,3,1,5,4] 是一个排列,但是 [1,2,2][1,2,2] 不是(22 出现两次),[1,3,4][1,3,4] 也不是(n=3n=3,但数组中有 44)。

输入格式

每组测试包含若干个测试用例。第一行为测试用例的数量 tt1t1041 \le t \le 10^4)。每组测试用例描述如下。

每组测试用例第一行包含一个整数 nn1n1061\le n\le10^6),表示排列的长度。

第二行包含 nn 个互不相同的整数 a1,a2,,ana_1,a_2,\ldots,a_n1ain1\le a_i\le n)。

保证所有测试用例中 nn 的总和不超过 10610^6

输出格式

对于每组测试用例,输出 jagged 区间的个数。

输入输出样例

  • 输入#1

    5
    5
    2 1 4 3 5
    10
    10 3 5 2 1 4 9 8 6 7
    15
    3 9 15 6 11 10 5 13 12 7 4 8 14 1 2
    12
    10 7 12 5 4 1 2 9 3 8 6 11
    30
    22 30 7 17 4 13 26 28 24 20 2 11 27 21 5 19 9 10 23 14 1 25 6 8 3 18 29 12 16 15

    输出#1

    1
    0
    28
    5
    185

说明/提示

在第一个测试用例中,唯一的 jagged 区间是 [1,5][1,5],因为它包含 [2,1,4,3,5][2,1,4,3,5] 作为子序列。

在第三个测试用例中,区间 [1,8][1,8] 是 jagged 的,因为它包含 [9,6,11,10,13][9,6,11,10,13] 作为子序列,这就是一个 21435-子序列。

首页