#CF1763D. 合法双调排列
合法双调排列
合法双调排列
- 时间限制:1 秒
- 内存限制:256 MiB
题目描述
给定五个整数 、、、 和 。请你计算满足 且 的 到 的“bitonic”排列 的个数。由于答案可能很大,请输出对 取模后的结果。
“bitonic”排列是指这样一种排列:排列中的元素从开头开始严格递增,一直持续到某个下标 (),然后在该下标之后开始严格递减,直到排列末尾。具体定义见下方说明。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 (),表示测试用例的数量。
每组测试用例占一行,包含五个整数 、、、、( 且 )。保证 且 。
输出格式
对于每组测试用例,输出一行,表示满足条件的 bitonic 排列的个数,对 取模。
样例输入 1
7
3 1 3 2 3
3 2 3 3 2
4 3 4 3 1
5 2 5 2 4
5 3 4 5 4
9 3 7 8 6
20 6 15 8 17
样例输出 1
0
1
1
1
3
0
4788
提示
排列是指长度为 的数组,包含 到 的所有不同整数。例如, 是一个排列,但 不是( 出现了两次), 也不是( 但有 )。
当 时,若一个数组的元素先在某个下标 处()单调递增,然后单调递减,则称其为 bitonic 数组。例如, 是一个 bitonic 数组,,但 不是(先递增到 ,然后递减,再递增)。
bitonic 排列是指满足上述 bitonic 性质的排列。例如, 是一个 bitonic 排列,但 不是(不满足 bitonic 性质), 也不是(不是排列)。
样例说明
对于 ,所有可能的排列为 、、、、 和 。其中,bitonic 排列为 和 。
在第一个测试用例中,期望的排列形式为 ,这不满足 的两个 bitonic 排列,因此答案为 。
在第二个测试用例中,期望的排列形式为 ,只满足 bitonic 排列 ,因此答案为 。
数据范围
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 20 | |
| 2 | 40 | |
| 3 | 无特殊限制 |