#48854. 约瑟夫问题
约瑟夫问题
暂无测试数据。
小 D 正在研究 OI 中的经典问题——“约瑟夫问题”。
小 D 碰巧最近学习了概率期望,所以他对约瑟夫问题做了小小的变形,具体规则如下:
- 一开始有 $n$ 个人,令第 $1$ 个人为当前位置 $now$。
- 有 $\frac{1}{2}$ 的概率从当前位置 $now$ 顺时针数包括 $now$ 的 $k$ 个人,设最后数到的第 $k$ 个人位置为 $pos$,令 $pos$ 出局。当前位置 $now$ 变为 $pos$ 顺时针紧挨的下一个人。
- 另外 $\frac{1}{2}$ 的概率逆时针数包括 $now$ 的 $k$ 个人,出局规则如上,不过当前位置 $now$ 变为 $pos$ 逆时针紧挨的下一个人。
- 所有人都出局时游戏结束。
和经典的约瑟夫问题类似,现在小 D 想知道最后开始处于第 $i$ 个位置上的人最后留下来的概率。
为了避免精度误差和求逆元,你只需要输出有多少种情况使得第 $i$个人最后存活,答案可能很大,所以对 $10^9+7$ 取模。
输入格式
一行两个正整数,$n$ 和 $k$,意义如题面所示。
输出格式
共 $n$ 行,每行一个整数 $ans_i$ 表示第 $i$ 个人最后留下的情况数量对 $10^9+7$ 取模的结果。
数据规模与约定
对于 $10\%$ 的数据,$1 \leq k \leq n \leq 5$。
对于 $50\%$ 的数据,$1 \leq k \leq n \leq 20$。
对于 $100\%$ 的数据,$1 \leq k \leq n \leq 5000$。
3 2
0
2
2