#XMOJ11566. 随性旅行
随性旅行
说明
时间限制:1 Sec
内存限制:256 MB
输入文件:random.in 输出文件:random.out
世界上一共有 $N$ 个国家,依次编号为 $1$ 号国、$2$ 号国、……、$N$ 号国。
住在 $1$ 号国的小明计划用 $M$ 天环游世界。单纯旅行太过无聊,于是小明决定用抛硬币来决定每天的行动。
旅行一共持续第 $1$ 天到第 $M$ 天,第 $1$ 天清晨小明初始在 $1$ 号国。
设第 $i$ 天清晨小明处在 $x$ 号国,当天行动规则如下:
1. 抛一枚硬币,观察正面还是反面。
2. 若抛出正面:
- 如果 $x>1$,就移动到 $x-1$ 号国;
- 如果 $x=1$,则原地不动。
若抛出反面:
- 如果 $x<N$,就移动到 $x+1$ 号国;
- 如果 $x=N$,则原地不动。
3. 执行完上述移动后,设当前所在国家为 $y$。小明会在旅行日记的第 $i$ 页写下数字 $y$。
$M$ 天结束后,记日记上第 $i$ 页的数字为 $a_i$。
请求出满足以下条件的序列 $a_1,a_2,\dots,a_M$ 的总个数:
- 是所有可能出现的合法序列;
- 满足最后一项 $a_M=1$。
答案可能很大,请对 $10^9+7$ 取模后输出。输入格式
一行两个整数:$N$ 和 $M$。
输出格式
输出满足条件的序列总数对 $10^9+7$ 取模的余数。
样例
样例 1
2 3
4
样例说明:
假设硬币正反面三天依次为 反面、反面、正面:第 天从 ,第 天留在 ,第 天从 ,得到序列:
同理:
- 反面、正面、正面 → 序列 $2,1,1$
- 正面、正面、正面 → 序列 $1,1,1$
- 正面、反面、正面 → 序列 $1,2,1$
一共恰好 $4$ 种合法序列,故答案为 $4$。
样例 2
1 2
1
样例说明:
只能停在 号国,序列只能是 ,仅 种。
样例 3
16 21
352716
样例 4
1000000 1000000
996692777
数据范围
对于 10% 的数据,$N=1$。
另有 5% 的数据,$M=1$。
另有 30% 的数据,$N,M \le 10$。
对于 100% 的数据,$1\le N\le 10^6,\quad 1\le M\le 10^6$。
相关
在下列比赛中: