icpc:problems:luogup2028
problems | |
---|---|
名称 | 龙兄摘苹果 |
题目编号 | P2028 |
题目链接 | luogu.com.cn/… |
来源 | Luogu |
算法分类 | 动态规划, 线性动态规划 |
难易程度 | 容易 |
龙兄摘苹果
想法
f[i][j]表示i个水果,放到j个盘子里的方案数。转移是从少1个盘子和少1个水果两个方向。需要注意初始状态,只有1个盘子有1个方案。
代码实现
#include <cstdio> const int N = 10010, K = 1010; unsigned long long int f[N][K]; int main() { int n, k; long long int p; scanf("%d %d %lld", &n, &k, &p); for (int i = 1; i <= n; i++) { f[i][1] = 1; for (int j = 2; j <= k; j++) { f[i][j] = (f[i - 1][j - 1] + f[i - 1][j] * j % p) % p; } } printf("%llu", f[n][k]); return 0; }
/app/www/public/data/pages/icpc/problems/luogup2028.txt · 最后更改: 2024/03/26 00:01 由 温婕莺