andre_joy

导航

2012年9月21日

poj 3181

摘要: 地址:http://poj.org/problem?id=3181题意:类似分硬币,给n,m,钱是n,有m中硬币,分别是1~m,求多少种分法mark:普通的完全背包不行,会超long long,需要一点高精度的技巧,会大数加法就没问题了。代码:#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <iostream>#include <algorithm>#include <map>#define LL lon 阅读全文

posted @ 2012-09-21 20:14 andre_joy 阅读(156) 评论(0) 推荐(0) 编辑

小结论(1)

摘要: 普通的完全背包和母函数是dp递推过程的两个经典对等例子。一个是填表法,完全背包就属于这一类,对于每个状态i,计算dp[i]。一个是刷表法,母函数就是,对于每个状态i,更新dp[i]能够到达的状态。 阅读全文

posted @ 2012-09-21 18:53 andre_joy 阅读(93) 评论(0) 推荐(0) 编辑

uva 674

摘要: 地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=615题意:有1,5,10,25,50这五种硬币。给一个价值,求有多少种组合可以得到该价值。mark:完全背包。代码:最近学习一些大牛设计状态的思路,首先想到了用dp[i][0]代表体积为i最多的价值,dp[i][1]代表体积为i最多的方法。#include <cstdio>#include <cstring>#include <cstdlib&g 阅读全文

posted @ 2012-09-21 17:04 andre_joy 阅读(501) 评论(0) 推荐(0) 编辑