#P11121. [ROIR 2024 Day 1] 双调序列

[ROIR 2024 Day 1] 双调序列

题目背景

翻译自 ROIR 2024 D1T2

称一个序列 [b1,b2,,bk][b_1, b_2, \dots, b_k] 为双调序列(Bitonic Sequence),当且仅当存在一个 1ik1 \leq i \leq k 使得 b1<b2<<bi>>bk b_1 < b_2 < \dots < b_i > \dots > b_k

例如,序列 [1][1][2,4,5,7,5,4][2,4,5,7,5,4][1,4,10][1, 4, 10][3,2][3, 2] 都是双调序列,而序列 [1,1][1, 1][5,4,2,4,5,7][5,4,2,4,5,7][1,1,4,5,1,4][1,1,4,5,1,4] 都不是。

题目描述

给定一个序列 [a1,a2,,an][a_1, a_2, \dots, a_n]。要求计算满足条件的 (l,r)(l, r) 对的数量,其中 1lrn1 \leq l \leq r \leq n 并且序列 [al,al+1,,ar][a_l, a_{l+1}, \dots, a_r] 是双调序列。

输入格式

第一行输入一个整数 nn1n3000001 \leq n \leq 300000)。

第二行输入 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ain1 \leq a_i \leq n)。

输出格式

输出一个整数,即满足 1lrn1 \leq l \leq r \leq n 且序列 [al,al+1,,ar][a_l, a_{l+1}, \dots, a_r] 是双调序列的 (l,r)(l, r) 对的数量。

5
1 1 2 3 1
11
3
1 1 1
3

提示

在样例一中,满足条件的 (l,r)(l, r) 对如下:

  • (1,1)(1, 1),对应序列 [1][1]
  • (2,2)(2, 2),对应序列 [1][1]
  • (2,3)(2, 3),对应序列 [1,2][1, 2]
  • (2,4)(2, 4),对应序列 [1,2,3][1, 2, 3]
  • (2,5)(2, 5),对应序列 [1,2,3,1][1, 2, 3, 1]
  • (3,3)(3, 3),对应序列 [2][2]
  • (3,4)(3, 4),对应序列 [2,3][2, 3]
  • (3,5)(3, 5),对应序列 [2,3,1][2, 3, 1]
  • (4,4)(4, 4),对应序列 [3][3]
  • (4,5)(4, 5),对应序列 [3,1][3, 1]
  • (5,5)(5, 5),对应序列 [1][1]
子任务 分值 特殊性质
00 同样例
11 2727 n500n\le500
22 1414 n5000n\le5000
33 2020 所有 aia_i 互不相等
44 3939

对于 100%100\% 的数据,1ain3000001 \leq a_i \leq n \leq 300000