ZOJ 2402 Lenny's Lucky Lotto Lists(简单DP)
2014-03-25 14:28
465 查看
题目大意:给出两个整数M,N 在1~M的范围里选出N个数,条件是第i个数必须大于等于第i-1个数的两倍, 求总共能选出的方案数.
设dp[i][j]为1~i选择j个数出来的方案数,那么dp[k][j + 1] += dp[i][j] (2 * i<= k <= M)
设dp[i][j]为1~i选择j个数出来的方案数,那么dp[k][j + 1] += dp[i][j] (2 * i<= k <= M)
#include <cstdio> #include <memory.h> using namespace std; const int MAX = 2001; long long dp[MAX][11]; void init(){ for(int i = 1; i < MAX; ++i){ dp[i][1] = 1; for(int j = 1; j <= 10; ++j){ for(int k = 2 * i; k < MAX; ++k){ dp[k][j + 1] += dp[i][j]; } } } } int main(int argc, char const *argv[]){ int C, caseno = 1; init(); scanf("%d", &C); while(C--){ int n, m; scanf("%d%d", &n, &m); long long ans = 0; for(int i = 1; i <= m; ++i){ ans += dp[i] ; } printf("Case %d: n = %d, m = %d, # lists = %lld\n", caseno++, n, m, ans); } return 0; }
相关文章推荐
- ZOJ2402 Lenny's Lucky Lotto List 简单DP
- zoj 2402 简单dp
- ZOJ2402 Lenny's Lucky Lotto List 简单DP
- zoj 3471 Most Powerful 状压dp(简单)
- zoj 3537 三角剖分 简单区间DP
- zoj 3160(区间dp 简单)
- ZOJ 2366 Weird Dissimilarity (简单DP)
- zoj 1074 || poj 1050 To the Max(简单DP)
- zoj 1539 Lot 简单DP 记忆化
- zoj 3697 恶心模拟 +简单DP
- 简单概率dp(期望)-zoj-3640-Help Me Escape
- ZOJ 3623 Battle Ships 简单DP
- 简单dp之递推(2)--ZOJ 3747
- ZOJ 2136 Longest Ordered Subsequence(简单DP)
- zoj 1027 简单dp
- zoj 3201 简单树形dp Tree of Tree
- zoj 3640 Help Me Escape 期望DP 简单题 适合记忆化搜索
- 简单概率dp(期望)-zoj-3640-Help Me Escape
- 2014牡丹江网络预选赛I题(字符串hash+简单DP)zoj3817
- zoj 3551 简单 概论dp