练习题 No.12 多重集组合数
来源:互联网 发布:淘宝视频空间在哪里 编辑:程序博客网 时间:2024/06/07 09:46
要求
有n种物品,第i种物品有ai个。从这些物品中取出m个的话,有多少种取法?求出方案数模M的余数
限制条件
- 1 <= n<= 1000
- 1 <= m<= 1000
- 1 <= ai<= 1000
- 1 <= M<= 10000
输入格式
第一行输入n m
接下来n行输入ai
接下来输入M
输出格式
输出一行方案数模M
测试输入
3 3
1
2
3
10000
测试输出
6
解题思路
代码
#include <iostream>using namespace std; int dp[1001][1001];int main() { int n; cin >> n; int m; cin >> m; int a[1001]; for (int i = 0; i < n; i++) { cin >> a[i]; } int M; cin >> M; for (int i = 0; i <= n; i++) { dp[i][0] = 1; } for (int i = 0; i < n; i++) { for (int j = 1; j <= m; j++) { if (j - 1 - a[i] >= 0) { dp[i + 1][j] = (dp[i + 1][j - 1] + dp[i][j] - dp[i][j - 1 -a[i]] + M) % M; } else { dp[i + 1][j] = (dp[i + 1][j - 1] + dp[i][j]) % M; } } } cout << dp[n][n] << endl; return 0; }
0 0
- 练习题 No.12 多重集组合数
- 多重集组合数
- 多重集组合数
- 多重集组合数
- 多重集组合数
- 多重集组合数
- 多重集组合数DP
- 多重集组合数 dp
- 多重集组合数-DP
- 多重集组合数问题
- 068_多重集组合数
- Ant Counting(多重集组合数)
- POJ3046-Ant Counting-多重集组合数
- 练习题 No.10 多重部分和问题
- 练习题 No.11 化分数
- 动态规划 多重部分和 最长上升子序列 划分数 多重集组合数
- 编程算法 - 多重集组合数 代码(C)
- (经典)POJ-3046 多重集组合数
- 数据结构之双向循环链表
- Xcede打印数据不完整
- 很有趣的亮灯数量问题
- nagios插件之监控内存使用率(centos7)
- 8种基本类型的总结
- 练习题 No.12 多重集组合数
- 解释Learning Rate在Neural Network的作用
- 基于演化博弈数据利用压缩感知方法进行网络重构
- 【图论】洛谷 P1363 幻想迷宫
- as注释风格统一
- 202. Happy Number(C++)
- wordpress如何做到在子目录安装而在根目录访问
- java之数组学习
- yum 出现 Database disk image is malformed