codeforces 431C - k-Tree 简单DP
发布日期:2021-05-10 11:29:06 浏览次数:12 分类:精选文章

本文共 1109 字,大约阅读时间需要 3 分钟。

������������������k���������������������������������n���������������������������������������������������d���������

������������������������������������DP������������������������dp[i][0]���dp[i][1]���������������������i������������������������������������������������

������������dp[0][0] = 1������������0���

���������������������������i���������j���1���k���

  • ������i ��� j���dp[i][0] += dp[i-j][0]���
  • ������������j ��� d���dp[i][1] += dp[i-j][0]������������dp[i][1] += dp[i-j][1]���

���������������dp[n][1] % mod���

���������������

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
> n >> m >> k; dp[0][0] = 1; for(int i = 1; i <= n; ++i) { for(int j = 1; j <= m; ++j) { if(i >= j) { dp[i][0] = (dp[i][0] + dp[i-j][0]) % mod; if(j >= d) { dp[i][1] = (dp[i][1] + dp[i-j][0]) % mod; } else { dp[i][1] = (dp[i][1] + dp[i-j][1]) % mod; } } } } ll ans = (dp[n][1] + mod) % mod; cout << ans << endl; }

���������������������������������������n���m���d���������������������������������

上一篇:应对unordered_map被卡的方法
下一篇:图的连通性相关总结:强连通,双连通,割点割边,2-sat

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月03日 23时50分14秒