U496834 随机数生成器
题目背景
[暴力](https://www.luogu.com.cn/paste/3x2vakow)
[discuss](https://www.luogu.com.cn/discuss/973408)
题目描述
你有一个随机数生成器,可以**等概率**地产生 $1 \sim n$ 的任意正整数。
定义一次 $\text{roll}$ 操作为用该生成器生成一个数。
但是这个生成器有个特性:可能会产生重复的数。如果产生了重复的数 $a$,你需要再 $\text{roll}$ 一次,这时它会保证以后**永久**不再产生 $a$ 了。
也就是说,比如可能在生成一次数字 $1$ 后再生成一次数字 $1$,此后永久不再生成数字 $1$。
你需要求出要产生 $k$ 个**两两不同**的正整数,期望进行多少次 $\text{roll}$ 操作 ?答案可能是小数,你需要将其对 $998244353$ 取模后输出。
定义:两种方案不同,当且仅当操作次数不同或存在有一次产生的数不同。
输入格式
一行两个正整数 $n,k$。
输出格式
输出一行一个整数表示答案。
说明/提示
【样例 1 解释】
答案为 $\displaystyle\frac{5}{2}$。
【样例 2 解释】
合法的操作序列有:
长度为 $3$ 的:$(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1)$,共 $6$ 种情况。
长度为 $4$ 的:穷举可得共 $18$ 种情况。
同理可得长度为 $5$ 的操作序列共有 $18$ 种情况。
因此期望为 $\displaystyle\frac{3\times 6+4\times18+5\times 18}{6+18+18}=\frac{30}{7}$,对 $998244353$ 取模,输出 $713031685$。
对于 $10\%$ 数据,$k=1$。
对于 $30\%$ 数据,$k,n\leq 6$
对于 $50\%$ 数据,$n=k$。
对于 $80\%$ 数据,$k,n\leq 10^3$
对于 $100\%$ 数据,$1\leq k\leq n\leq 10^6$。