UVA10910 - Marks Distribution(dp)
2014-11-14 19:04
330 查看
UVA10910 - Marks Distribution(dp)
题目链接
题目大意:给你N, T, P,找F(N, T, P),要求有N个数,每个数至少都大于等于P,并且和等于T有多少种组合方式。
解题思路:DP,f[n + 1][sum + i] += f
[sum];i从p开始到T - sum。
代码:
题目链接
题目大意:给你N, T, P,找F(N, T, P),要求有N个数,每个数至少都大于等于P,并且和等于T有多少种组合方式。
解题思路:DP,f[n + 1][sum + i] += f
[sum];i从p开始到T - sum。
代码:
#include <cstdio> #include <cstring> typedef long long ll; const int maxn = 75; int N, T, P; ll f[maxn][maxn]; void init () { memset (f, -1, sizeof(f)); } ll dp(int k, int sum) { ll& ans = f[k][sum]; if (ans != -1) return ans; if (k == N) { if (sum == T) return ans = 1; return ans = 0; } ans = 0; for (int i = P; i <= T - sum; i++) { if (i + sum <= T) ans += dp(k + 1, sum + i); else break; } return ans; } int main () { int K; scanf ("%d", &K); while (K--) { scanf ("%d%d%d", &N, &T, &P); init(); printf ("%lld\n", dp(0, 0)); } return 0; }
相关文章推荐
- UVA 10910 - Marks Distribution (dp)
- (Relax DP1.2)UVA 10910 Marks Distribution(求通过n门课获得t分的情况数,每门课至少能获得p分)
- UVA10910 Marks Distribution【组合+DP】
- UVA - 10910 Marks Distribution 简单DP
- uva 10910 - Marks Distribution(dp)
- uva 116 Unidirectional TSP (dp)
- UVA 12283 Halloween Costumes(区间DP)
- UVA 10891 Game of Sum(区间DP)
- Arbitrage (Uva 104 dp+floyd)
- UVa11795 Mega Man's Mission(状态压缩DP)
- UVA 11280 Flying to Fredericton 最短路DP
- UVa1625 Color length[DP][差分]
- uva 11258 - String Partition(dp)
- UVa 1630 Folding (区间DP)
- UVa11324 - The Largest Clique(DAG+DP+SCC)
- Uva 11825 - Hackers’ Crackdown 状态压缩DP
- UVA 10280 Old Wine Into New Bottles(dp完全背包)
- uva 1379 dp 贪心思想降低空间复杂度
- UVA 11077 Find the Permutations DP
- UVa 1366 - Martian Mining (DP)