问题要求构造一个由 1 到 n 的排列,使得序列中恰好有 m 个「下沉」(即相邻位置满足左边元素大于右边元素的数对数量),且 0≤m<n。
我们可以利用「反转前缀」的方法来简洁地构造出满足条件的序列:
在一个数字王国里,收藏着编号为 1 到 n 的卷轴。你需要将这些卷轴排成一列。定义一对相邻卷轴为一个「下沉」,如果左边卷轴的编号大于右边卷轴。
给定整数 n 和 m,请你构造一个由 1 到 n 组成的序列,每个整数恰好出现一次,且序列中恰好有 m 个下沉。如果存在多种合法方案,任意输出一种即可。
约束:n 不超过 10^5,m 为整数且满足 0≤m<n。
输入只有一行,包含两个整数 n 和 m,用空格分隔。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.