动态规划:划分数 复习
2018-03-07 20:20
246 查看
#include <iostream> #include <algorithm> using namespace std; const int maxn = 1000 + 20; int n, m, M; int dp[maxn][maxn]; /* 4 3 10000 */ void solve() { cin >> n >> m >> M; dp[0][0] = 1; //dp[i][j] = 存储着 j 的 i划分 for (int i = 1; i <= m; i++) { for (int j = 0; j <= n; j++) { if (j - i >= 0) { dp[i][j] = (dp[i - 1][j] + dp[i][j - i]) % M; } else { dp[i][j] = dp[i - 1][j]; } } } cout << dp[m] << endl; } int main() { solve(); return 0; }
相关文章推荐
- NYOJ171 聪明的kk (动态规划复习)
- nyoj90 整数划分 动态规划与分治解法
- [NOIP 2014复习]第三章:动态规划——NOIP历届真题回顾
- C++之动态规划复习
- 动态规划【数的划分】
- 动态规划-各种整数划分
- 动态规划:最长公共子序列 复习
- 动态规划复习-HDU2084
- 【算法复习二】货郎担(旅行售货商)动态规划
- 动态规划-数的划分
- 动态规划复习-HDU1087
- [NOIP复习]第三章:动态规划
- 【算法复习二】货郎担(旅行售货商)动态规划
- [NOIP 2014复习]第三章:动态规划——NOIP历届真题回想
- 算法复习之动态规划_03
- 整数的划分—动态规划
- 动态规划之划分动态规划:矩阵链乘 poj 1651 Multiplication Puzzle
- 动态规划实例(十四):划分问题
- NOIP专题复习——专题二:动态规划基础
- 动态规划:01背包 复习