[蓝桥杯 2013 省 B] 连号区间数

Luogu
IDLGP8600
Time750ms
Memory128MB
DifficultyP6
2013线段树分治前缀和蓝桥杯省赛
小明这些天一直在思考这样一个奇怪而有趣的问题: 在 $1$ ~ $N$ 的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间 $[L, R]$ 里的所有元素(即此排列的第 $L$个到第 $R$ 个元素)递增排序后能得到一个长度为 $R-L+1$ 的“连续”数列,则称这个区间连号区间。 其中对“连续”数列的定义: 记长度为 $m$ 的数列 $A$ 第 $i$ 个元素为 $A_i$,当 $\forall i \in [2,m],a_i=a_{i-1}+1$ 时认为该数列为“连续”数列。 当 $N$ 很小的时候,小明可以很快地算出答案,但是当 $N$ 变大的时候,问题就不是那么简单了,现在小明需要你的帮助。 ## Input 第一行是一个正整数 $N (1 \le N \le 50000)$, 表示全排列的规模。 第二行是 $N$ 个不同的数字 $P_i(1 \le P_i \le N)$, 表示这 $N$ 个数字的某一全排列。 ## Output 输出一个整数,表示不同连号区间的数目。 [samples] ## Note 第一个用例中,有 $7$ 个连号区间分别是:$[1,1]$, $[1,2]$, $[1,3]$, $[1,4]$, $[2,2]$, $[3,3]$, $[4,4]$。 第二个用例中,有 $9$ 个连号区间分别是:$[1,1]$, $[1,2]$, $[1,3]$, $[1,4]$, $[1,5]$, $[2,2]$, $[3,3]$, $[4,4]$, $[5,5]$。 原题时限 5 秒, 64M。蓝桥杯 2013 年第四届省赛
Samples
Input #1
4
3 2 4 1
Output #1
7
Input #2
5
3 4 2 5 1
Output #2
9
API Response (JSON)
{
  "problem": {
    "name": "[蓝桥杯 2013 省 B] 连号区间数",
    "description": {
      "content": "小明这些天一直在思考这样一个奇怪而有趣的问题: 在 $1$ ~ $N$ 的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间 $[L, R]$ 里的所有元素(即此排列的第 $L$个到第 $R$ 个元素)递增排序后能得到一个长度为 $R-L+1$ 的“连续”数列,则称这个区间连号区间。 其中对“连续”数列的定义: 记长度为 $m$ 的数列 $A$ 第 $i$ 个元素为 $",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 750,
      "memory_limit": 131072
    },
    "difficulty": {
      "LuoguStyle": "P6"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP8600"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "小明这些天一直在思考这样一个奇怪而有趣的问题:\n\n在 $1$ ~ $N$ 的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是:\n\n如果区间 $[L, R]$ 里的所有元素(即此排列的第 $L$个到第 $R$ 个元素)递增排序后能得到一个长度为 $R-L+1$ 的“连续”数列,则称这个区间连号区间。\n\n其中对“连续”数列的定义:\n\n记长度为 $m$ 的数列 $A$ 第 $i$ 个元素为 $...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments