QOJ.ac

QOJ

Type: Editorial

Status: Open

Posted by: jiangly

Posted at: 2025-12-12 23:56:04

Last updated: 2025-12-12 23:56:10

Back to Problem

题解

注意到 $d$ 进制的 good number 一定在区间 $[d^{d-1},d^d)$ 内,而这些区间互不相交,所以可以直接枚举 $d$。

假设现在算的是不超过 $N$ 的 nice number 的个数。先找到最小的 $d$ 满足 $N< d^d$,那么更小的 $d$ 的答案都是 $(d-1)\cdot (d-1)!$,更大的答案都是 $0$。把 $N$ 转化成 $d$ 进制后,转化成数字典序比 $N_{(d)}$ 小的排列个数。这个问题容易在 $O(d\log d)$ 时间内解决。

高精度什么的 python 搞一搞就好啦。

Comments

No comments yet.