Problem6088--最优排列

6088: 最优排列

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

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$ 个排列。

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

HINT

题目来源:CF 513 B1

Source/Category