编程题
### 问题描述 给定一个正整数 $n$ 和一个 $1$ 到 $n$ 的排列 $p$,定义一个区间 $[l,r]$ ($1\leq l \leq r \leq n$) 的幂塔函数 $f(l,r)$ 值为: - $p_l$,若 $l = r$。 - $f(l,r-1)^{p_r}$,若 $l < r$。 求排列 $p$ 全部的 $\frac{n\cdot (n-1)}{2}$ 个区间共有多少种不同的幂塔函数值。相同的值只计算一次。 ### 输入格式 输入第一行包含一个整数 $n$,表示排列 $p$ 的长度。 第二行包含 $n$ 个整数,表示排列 $p$。保证 $1$ 到 $n$ 中的每一个数在 $p$ 中出现且仅出现一次。 ### 输出格式 输出一个整数,全部的 $\frac{n\cdot (n-1)}{2}$ 个区间不同的幂塔函数值的个数。相同的值只计算一次。 ### 样例输入 ```text 4 2 1 4 3 ``` ### 样例输出 ```text 7 ``` ### 说明 排列 $p$ 的长度为 $4$,共有 $10$ 个区间,其中区间 $[1,1],[1,2],[1,3],[1,4],[2,2],[2,3],[2,4],[3,3],[3,4],[4,4]$的权值分别为 $2,2,16,4096,1,1,1,4,64,3$。其中共有 $7$ 种不同的幂塔函数值。 ### 评测数据规模 对于 $20$% 的评测数据,$1\leq n \leq 100$。 对于 $40$% 的评测数据,$1\leq n \leq 10^3$。 对于 $100$% 的评测数据,$1\leq n \leq 5\times 10^4$。
查看答案
赣ICP备20007335号-2