#YHCSPJMN90004. 四元计数

四元计数

四元计数

题目背景

在育华学校的算法实践课程中,同学们需要处理排列相关的计数问题,以此加深对排列性质、嵌套结构以及组合数学的理解。本次任务聚焦于在给定的 1~n 排列中,找出满足特定大小关系的四元组 (i,j,p,q)(i, j, p, q) 的数量,锻炼大家分析复杂条件、设计高效算法的能力。

题目描述

给定一个 1~n 的排列 aa(长度为 nn ,每个数 1~n 各出现一次 ),要求计数满足以下条件的位置四元组 (i,j,p,q)(i, j, p, q) 的数量:

  1. 位置关系:1i<j<p<qn1 \leq i < j < p < q \leq n
  2. 数值关系:ai<ap<aj<aqa_i < a_p < a_j < a_q

例如,当 n=4n = 4 ,排列为 [1,3,2,4][1, 3, 2, 4] 时,存在一个符合条件的四元组(可依据条件自行推导验证 )。

输入格式

  1. 第一行:一个正整数 nn ,表示排列的长度。
  2. 第二行:nn 个正整数,构成 1~n 的排列 aa

输出格式

输出一行一个整数,表示符合条件的四元组数量。

样例

样例输入 1

5  
1 3 2 4 5  

样例输出 1

2  

样例解释

需遍历所有可能的四元组位置组合,筛选出满足 i<j<p<qi < j < p < qai<ap<aj<aqa_i < a_p < a_j < a_q 的情况,经计算共有 2 个符合条件的四元组(具体可通过代码逻辑推导 )。

数据规模与测试点

测试点编号 数据范围(nn 的取值 ) 考查目标
1-2 1n501 \leq n \leq 50
3-4 1n5001 \leq n \leq 500 奇数在前,单调递增,偶数在后,单调递增
5-6 偶数在前,单调递增,奇数在后,单调递增
7-8 前一半单调递增 , 后一半单调递增
9-10
11-12 1n50001 \leq n \leq 5000 奇数在前,单调递增,偶数在后,单调递增
13-14 偶数在前,单调递增,奇数在后,单调递增
15-16 前一半单调递增 , 后一半单调递增
17-18
19-20