【题目链接】
【思路要点】
- 值域连续的区间的交和并均为值域连续的区间,因此一个合法输入应当能够构成一个树形结构。
- 考虑一个节点的子树,其对应的区间值域连续,且在后续的考虑中,我们会避免使其出现在更大的连续区间中,因此我们可以等效地将其看做一个数。
- 因此,记 f i f_i fi 表示长度为 i + 1 i+1 i+1 的,去掉最后一个元素后不存在非平凡连续区间的排列个数, s i s_i si 表示 i i i 的子节点个数,应当有
A n s = ∏ i = 1 N f s i Ans=\prod_{i=1}^{N} f_{s_i} Ans=i=1∏Nfsi- 关于 f i f_i fi 的计算有如下递推式 f 0 = 1 , f 1 = 2 , f i = ( i − 1 ) f i − 1 + ∑ j = 2 i − 2 ( j − 1 ) f j f i − j ( i ≥ 2 ) f_0=1,f_1=2,f_i=(i-1)f_{i-1}+\sum_{j=2}^{i-2}(j-1)f_jf_{i-j}\ (i\geq 2) f0=1,f1=2,fi=(i−1)fi−1+j=2∑i−2(j−1)fjfi−j (i≥2)
- 该递推式的证明:
对于一个满足去掉最后一个元素后不存在非平凡连续区间的排列 a i a_i ai ,定义 b a i = i b_{a_i}=i bai=i ,那么 b i b_i bi 是一个不存在不包含最大值的非平凡连续区间的排列,且 a i a_i