上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2602DP,0-1背包 1 #include <stdio.h> 2 #include <string.h> 3 4 #define N 1234 5 6 int n, m; 7 int dp[N], v[N], w[N]; 8 9 int main()10 {11 int t, i, j;12 scanf("%d", &t);13 while(t-- && scanf("%d%d", &n, &m))14 阅读全文
posted @ 2013-01-29 23:20 Yuan1991 阅读(127) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1114DP,完全背包 1 #include <stdio.h> 2 3 int main() 4 { 5 int t, i, j, n, m, m1, v, w; 6 int dp[10010]; 7 scanf("%d", &t); 8 while(t-- && scanf("%d%d%d", &m1, &m, &n)) 9 {10 m -= m1;11 dp[0] = 0;12 for(i=1; i< 阅读全文
posted @ 2013-01-29 23:18 Yuan1991 阅读(133) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1203DP,0-1背包和0-1背包稍有差别:状态转移方程:dp[j] = max(dp[j], dp[j-w[i]]*v[i])P(至少一份offer) = 1 - P(一个offer也没有)P(一个offer也没有) = Mul(1 - P(拿到 i 学校的offer)) (其中i为选择的学校)#include <stdio.h>#define N 10010int n, m;float dp[N], v[N];int w[N];int main(){ int i, j; while(scanf 阅读全文
posted @ 2013-01-29 23:16 Yuan1991 阅读(117) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2844DP,部分背包耗费:钱币的面值,价值:全为1,数量:每种钱币的数量,求恰好装满的dp值,初始化dp[0]=0,dp[1~m] = “负无穷”,最后遍历dp[1~m],如果能恰好装满(dp值为正)就算一种,统计一共有多少种 1 #include <stdio.h> 2 #include <string.h> 3 4 #define N 100100 5 6 int n, m; 7 int dp[N], w[123], num[123]; 8 const int minint = - 阅读全文
posted @ 2013-01-29 23:09 Yuan1991 阅读(154) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2191DP,部分背包 1 #include <stdio.h> 2 #include <string.h> 3 4 #define N 123 5 6 int n, m; 7 int dp[N], w[N], v[N], num[N]; 8 9 void pack01(int wi, int vi)10 {11 int j;12 for(j=m; j>=wi; j--)13 {14 if(dp[j-wi]+vi > dp[j])15 {16 ... 阅读全文
posted @ 2013-01-29 23:00 Yuan1991 阅读(176) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页