P11121 [ROIR 2024] 双调序列 (Day 1)

题目背景

翻译自 [ROIR 2024 D1T2](https://neerc.ifmo.ru/school/archive/2023-2024/ru-olymp-regional-2024-day1.pdf)。 称一个序列 $[b_1, b_2, \dots, b_k]$ 为双调序列(Bitonic Sequence),当且仅当存在一个 $1 \leq i \leq k$ 使得 $ b_1 < b_2 < \dots < b_i > \dots > b_k $。 例如,序列 $[1]$,$[2,4,5,7,5,4]$,$[1, 4, 10]$,$[3, 2]$ 都是双调序列,而序列 $[1, 1]$,$[5,4,2,4,5,7]$,$[1,1,4,5,1,4]$ 都不是。

题目描述

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

输入格式

第一行输入一个整数 $n$($1 \leq n \leq 300000$)。 第二行输入 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \leq a_i \leq n$)。

输出格式

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

说明/提示

在样例一中,满足条件的 $(l, r)$ 对如下: - $(1, 1)$,对应序列 $[1]$; - $(2, 2)$,对应序列 $[1]$; - $(2, 3)$,对应序列 $[1, 2]$; - $(2, 4)$,对应序列 $[1, 2, 3]$; - $(2, 5)$,对应序列 $[1, 2, 3, 1]$; - $(3, 3)$,对应序列 $[2]$; - $(3, 4)$,对应序列 $[2, 3]$; - $(3, 5)$,对应序列 $[2, 3, 1]$; - $(4, 4)$,对应序列 $[3]$; - $(4, 5)$,对应序列 $[3, 1]$; - $(5, 5)$,对应序列 $[1]$。 | 子任务 | 分值 | 特殊性质 | | :----------: | :----------: | :----------: | | $0$ | $0$ | 同样例 | | $1$ | $27$ | $n\le500$ | | $2$ | $14$ | $n\le5000$ | | $3$ | $20$ | 所有 $a_i$ 互不相等 | | $4$ | $39$ | 无 | 对于 $100\%$ 的数据,$1 \leq a_i \leq n \leq 300000$。