6088: 最优排列
[Creator : ]
Description
给定一个由数字 $1, 2, ...,\ n$ 构成的排列 $p$。 并且给定 $f(p)$ 的求和定义如下:
$f(p)=\sum_{i=1}^{n} \sum_{j=1}^{n} min(p_i,\ p_{i+1},\ \dots,\ p_j$ 在所有能使 $f(p)$ 取到最大值的排列中,输出按字典序的第 $m$ 个排列。
$f(p)=\sum_{i=1}^{n} \sum_{j=1}^{n} min(p_i,\ p_{i+1},\ \dots,\ p_j$ 在所有能使 $f(p)$ 取到最大值的排列中,输出按字典序的第 $m$ 个排列。
Input
输入只有一行,包含两个整数 $n,\ m\ (1 ≤m≤cnt_n)$,$cnt_n$ 代表长度为 $n$ 并且能使 $f(p)$ 取最大值的排列的数量。
这个问题包含两个子问题。子问题对输入有不同的约束。您将获得正确解决子问题对应的分数。子问题的描述如下。
这个问题包含两个子问题。子问题对输入有不同的约束。您将获得正确解决子问题对应的分数。子问题的描述如下。
- 在子问题 B1 (3 分),约束 $n$ 的范围为 $1 ≤n≤ 8$。
- 在子问题 B2 (4 分),约束 $n$ 的范围为 $1 ≤n≤ 50$。
Output
输出满足条件的排列。
Sample 1 Input
2 2
Sample 1 Output
2 1
数字 $\{1,\ 2\}$ 构成的排列得到的 $f(p)$ 最大值都等于 $4$,在所有满足条件的排列中,$(2, 1)$ 是字典序中的第二个。
Sample 2 Input
3 2
Sample 2 Output
1 3 2