首页 / 题库

P90044 - 排列游戏

组合数学
通过次数1 提交次数1 内存限制 512MB 时间限制1秒

描述

给定一个长度为 $n$ 的数列 $a_1, a_2, \dots, a_n$。

对于一个子区间 $[l, r]$($1 \leq l \leq r \leq n$),定义其补区间为原数列去掉该子区间后剩余的部分,即由两部分 $[1, l-1]$ 和 $[r+1, n]$ 构成(若某部分为空则忽略)。

定义:
- $\operatorname{mex}(l, r)$ 为子区间 $[l, r]$ 中所有数构成的集合的 $\operatorname{mex}$ 值,即最小的未出现在该区间中的非负整数。
- $\operatorname{cmin}(l, r)$ 为补区间中所有数的最小值。特别地,若补区间为空(即 $l=1$ 且 $r=n$),则 $\operatorname{cmin}$ 视为 $+\infty$。

求有多少个子区间 $[l, r]$,满足 $\operatorname{mex}(l, r) = \operatorname{cmin}(l, r)$。

输入

第一行输入一个正整数 $n$。

第二行输入 $n$ 个非负整数 $a_1, a_2, \dots, a_n$。

输出

输出一行一个整数,表示满足条件的子区间个数。

样例

  • 复制
  • 复制
  • 复制
  • 复制
  • 复制
  • 复制

提示

#### 【样例 #1 解释】

数列为 $[1, 0, 2, 1, 3]$,共有 $15$ 个子区间。满足条件的 $10$ 个子区间如下:

::::info[展开表格]

| $[l, r]$ | 区间内元素 | $\operatorname{mex}$ | 补区间元素 | $\operatorname{cmin}$ | 是否相等 |
| :---: | :---: | :---: | :---: | :---: | :---: |
| $[1,1]$ | $\{1\}$ | $0$ | $[0,2,1,3]$ | $0$ | $\checkmark$ |
| $[1,2]$ | $\{1,0\}$ | $2$ | $[2,1,3]$ | $1$ | |
| $[1,3]$ | $\{1,0,2\}$ | $3$ | $[1,3]$ | $1$ | |
| $[1,4]$ | $\{1,0,2,1\}$ | $3$ | $[3]$ | $3$ | $\checkmark$ |
| $[1,5]$ | $\{1,0,2,1,3\}$ | $4$ | $[]$ | $+\infty$ | |
| $[2,2]$ | $\{0\}$ | $1$ | $[1,2,1,3]$ | $1$ | $\checkmark$ |
| $[2,3]$ | $\{0,2\}$ | $1$ | $[1,1,3]$ | $1$ | $\checkmark$ |
| $[2,4]$ | $\{0,2,1\}$ | $3$ | $[1,3]$ | $1$ | |
| $[2,5]$ | $\{0,2,1,3\}$ | $4$ | $[1]$ | $1$ | |
| $[3,3]$ | $\{2\}$ | $0$ | $[1,0,1,3]$ | $0$ | $\checkmark$ |
| $[3,4]$ | $\{2,1\}$ | $0$ | $[1,0,3]$ | $0$ | $\checkmark$ |
| $[3,5]$ | $\{2,1,3\}$ | $0$ | $[1,0]$ | $0$ | $\checkmark$ |
| $[4,4]$ | $\{1\}$ | $0$ | $[1,0,2,3]$ | $0$ | $\checkmark$ |
| $[4,5]$ | $\{1,3\}$ | $0$ | $[1,0,2]$ | $0$ | $\checkmark$ |
| $[5,5]$ | $\{3\}$ | $0$ | $[1,0,2,1]$ | $0$ | $\checkmark$ |

::::

共有 $10$ 个区间满足条件。

#### 【样例 #2 解释】

数列为 $[1, 2, 3]$。整个数列中没有 $0$,因此任意子区间 $[l, r]$ 的 $\operatorname{mex}$ 恒为 $0$。而补区间的最小值至少为 $1$(除非补区间为空,此时 $\operatorname{cmin} = +\infty$),因此不存在满足 $\operatorname{mex} = \operatorname{cmin}$ 的区间,答案为 $0$。

#### 【样例 #3 解释】

数列为 $[0, 1, 0, 2]$,共有 $10$ 个子区间。满足条件的 $3$ 个子区间如下:

| $[l, r]$ | 区间内元素 | $\operatorname{mex}$ | 补区间元素 | $\operatorname{cmin}$ | 是否相等 |
| :---: | :---: | :---: | :---: | :---: | :---: |
| $[1,3]$ | $\{0,1\}$ | $2$ | $[2]$ | $2$ | $\checkmark$ |
| $[2,2]$ | $\{1\}$ | $0$ | $[0,0,2]$ | $0$ | $\checkmark$ |
| $[4,4]$ | $\{2\}$ | $0$ | $[0,1,0]$ | $0$ | $\checkmark$ |

其中 $[1,3]$ 的 $\operatorname{mex}=2$ 且补区间最小值为 $2$(补区间恰好有一个 $2$);$[2,2]$ 和 $[4,4]$ 则对应 $\operatorname{mex}=\operatorname{cmin}=0$ 的情况。

#### 【数据范围与约定】

对于所有测试数据,保证:

- $1\le n\le 2\times 10^5$
- $0\le a_i\le 2\times 10^5$

意见反馈

    最多上传3张图片,格式为JPG、PNG、JPEG,单张不超过5MB

    注册

    发送验证码

    密码必须包含数字、字母和特殊字符

    找回密码

    发送验证码

    密码必须包含数字、字母和特殊字符

    运行 ID:67149

    • 测试点1:Accepted
    • 用时:0 ms
    • 内存:288 kb
    • 测试点2:Accepted
    • 用时:0 ms
    • 内存:288 kb
    输入
    203
    输出
    203

    test

    测评信息

    错误.in文件下载

    错误.out文件下载

    运行 ID:67149

    2019-01-24 15:06:36