姑且称之“二项式进制”

将各位数字之和为 \(9\) 的全体正整数按从小到大的顺序排成一个数列,即 \(9, 18, 27, \cdots\)。

Q1:给一个数字,算其排名。

相当于把 \(9\) 个 \(1\) 放进数位里。

设 \(p_{i}\) 为 \(9\) 个 \(1\) 的位置(最低位为 \(0\))升序排列的数列。

如 \(9\) 的 \(\{ p_{i} \}=\{ 0,0,0,0,0,0,0,0,0 \}\);\(2025\) 的 \(\{ p_{i} \}=\{ 0,0,0,0,0,1,1,3,3 \}\)。

则答案为

\[1 + \sum_{i=1}^{9}\sum_{j=0}^{p_{i}-1} \binom{i-1+j}{j} = 1 + \sum_{i=1}^{9} \binom{i+p_{i}-1}{i} \]

Q2:给排名为 \(k\),算是哪个数字。假设这个数字最高位 \(\leq m\)。

由于是按排名来的,从大到小枚举 \(i\),每个 \(p_{i}\) 依次贪心取到最大值。

因为

若本该取 \(m\),却取成 \(m-1\),

\[1 + \sum_{i=1}^{9}\sum_{j=0}^{m-1-1} \binom{i-1+j}{j} = \binom{m+8}{9} \]

而 $$1 + \sum_{j=0}^{m-1} \binom{9-1+j}{j}=\binom{m+8}{9}+1$$。

故是对的。

不知道有没有更优秀的做法。

posted @ 2026-08-02 19:50  Nazq  阅读(19)  评论(0)    收藏  举报