[编程题]多多的排列函数
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
数列 {An} 为N的一种排列。
例如N=3,可能的排列共6种:
1 | 1, 2, 3``1, 3, 2``2, 1, 3``2, 3, 1``3, 1, 2``3, 2, 1 |
定义函数F:
其中|X|表示X的绝对值。
现在多多鸡想知道,在所有可能的数列 {An} 中,F(N)的最小值和最大值分别是多少。
输入描述:
1 | 第一行输入1个整数T,表示测试用例的组数。 |
输出描述:
1 | 共T行,每行2个整数,分别表示F(N)最小值和最大值 |
输入例子1:
1 | 2 |
输出例子1:
1 | 1 1 |
例子说明1:
1 | 对于N=3: |
动态规划
dpMax[j] = j - dpMin[j - 1];
dpMin[j] = dpMin[j - 4];
1 | import java.util.*; |