CF459C题解

题面

题意:
构造长度为 \(d\)\(n\) 个数列,满足数列中的数在 \([1,k]\) 范围内,且不存在两个数列相同。要求字典序最小。


先判断无解。当数列总个数 \(k^d<n\) 时无解。
我们把每个数列抽象作一个 \(k\) 进制数。那每个数都不相等,且字典序最小的做法,明显是让每个数列的值为 \(0,1,\ldots,n-1\)
比如 \(k=2\) ,取 \(d=3\) ,那数列就是 \(\{0,0,0\},\{0,0,1\},\{0,1,0\},\{0,1,1\},\ldots,\{1,1,1\}\)
因为数列中的数是 \([1,k]\) 范围而不是 \([0,n-1]\) ,所以输出时每个数都要加上 \(1\) 。做完了。

代码

posted @ 2022-04-17 12:38  1358id  阅读(45)  评论(0编辑  收藏  举报