A7440 | [GESP202606 八级] 堆石子
时间限制1s
内存限制512MB
通过 / 提交0/0
题目描述
有 $m$ 堆石子,编号为 $1, 2, \cdots, m$,其石子数量分别记为 $a_1, a_2, \cdots, a_m$。
现在要求第 $1$ 堆石子恰有 $n$ 个(即 $a_1 = n$),并且此后每堆石子的数量严格小于前一堆,即 $a_i < a_{i-1}$ ($2 \le i \le m$)。此外,每堆至少需要有一个石子,即 $a_i \ge 1$ ($1 \le i \le m$)。
在总石子数量不设限制的情况下,给定 $m \ge 2, n \ge 1$,有多少个满足要求的石子堆放方案?
两个方案不同,当且仅当,两个方案中至少有一堆石子数量不同。
如果不存在满足要求的方案,输出 $0$。由于方案数可能很大,请输出方案数对 $10^9 + 7$ 取模后的结果。
现在要求第 $1$ 堆石子恰有 $n$ 个(即 $a_1 = n$),并且此后每堆石子的数量严格小于前一堆,即 $a_i < a_{i-1}$ ($2 \le i \le m$)。此外,每堆至少需要有一个石子,即 $a_i \ge 1$ ($1 \le i \le m$)。
在总石子数量不设限制的情况下,给定 $m \ge 2, n \ge 1$,有多少个满足要求的石子堆放方案?
两个方案不同,当且仅当,两个方案中至少有一堆石子数量不同。
如果不存在满足要求的方案,输出 $0$。由于方案数可能很大,请输出方案数对 $10^9 + 7$ 取模后的结果。
输入格式
输入一行两个正整数 $m$ 和 $n$。
输出格式
输出一个整数,表示总方案数对 $10^9 + 7$ 取模后的结果。
输入输出样例
输入 #1
3 5
输出 #1
6
### 样例解释 1
有 $(5, 4, 3)$,$(5, 4, 2)$,$(5, 4, 1)$,$(5, 3, 2)$,$(5, 3, 1)$ 和 $(5, 2, 1)$ 共计 $6$ 种方案。
### 数据范围
| 数据点编号 | 数据范围 | 特殊性质 |
|:-:|:-:|:-:|
| $1,2$ | $2 \le m \le 100, 1 \le n \le 100$ | $0 \le n - m \le 5$ |
| $3,4,5$ | $2 \le m \le 100, 1 \le n \le 10^8$ | 无 |
| $6,7,8,9,10$ | $2 \le m \le 10^5, 1 \le n \le 10^8$ | ^ |
有 $(5, 4, 3)$,$(5, 4, 2)$,$(5, 4, 1)$,$(5, 3, 2)$,$(5, 3, 1)$ 和 $(5, 2, 1)$ 共计 $6$ 种方案。
### 数据范围
| 数据点编号 | 数据范围 | 特殊性质 |
|:-:|:-:|:-:|
| $1,2$ | $2 \le m \le 100, 1 \le n \le 100$ | $0 \le n - m \le 5$ |
| $3,4,5$ | $2 \le m \le 100, 1 \le n \le 10^8$ | 无 |
| $6,7,8,9,10$ | $2 \le m \le 10^5, 1 \le n \le 10^8$ | ^ |
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?