背包
嘎达啊
无名小卒
展开
-
hdu2546
#include #include #include #include using namespace std; const int maxn = 1000+10; int dp[maxn]; int me[maxn]; int n; int main() { while(cin >> n, n) { memset(dp, 0, sizeof(dp));原创 2013-07-09 22:27:55 · 392 阅读 · 0 评论 -
hdu2602
#include #include #include using namespace std; __int64 dp[1003]; __int64 me[1003]; __int64 a[1001]; int main() { int t; cin >> t; while(t--) { int n, v; cin >> n >>原创 2013-07-15 10:40:23 · 375 阅读 · 0 评论 -
hdu1864
#include #include #include using namespace std; const int maxn = 3e6+10; int dp[maxn]; int a[35]; int main() { double q, n; while(cin >> q >> n&&n) { int qq = q*100; in原创 2013-07-23 20:01:30 · 533 阅读 · 0 评论 -
poj 3624 01 背包
#include #include #include using namespace std; int dp[13000], v[4000], jz[4000]; int n, m; void onetwopack(int v, int c) { for(int i = m; i >= v; i--) dp[i] = max(dp[i], dp[i-v]+c); }原创 2013-09-12 20:37:48 · 513 阅读 · 0 评论 -
poj 3628 01 背包
题意: 给一群牛 求出不小于书架最小的高度 然后和书架做差 #include #include #include using namespace std; int dp[20000000], v[24]; int n, m, sum; void onetwopack(int v, int jz) { for(int i = sum; i >= v; i--)原创 2013-09-12 21:22:50 · 725 阅读 · 0 评论 -
hdu 2955 01背包
按照01 背包知道 概率应该作为背包 但是浮点型不能直接减, 所以转换下 将钱的总和作为背包 被抓的概率转换为不被抓的概率 作为价值; #include #include #include #include using namespace std; double dp[10050], c[110]; int v[110]; int main() { int t, sum;原创 2013-09-12 17:10:06 · 538 阅读 · 0 评论 -
hdu1203 01背包
至少得反面是一个没有 所以方程为 max(dp[j], 1-(1-dp[j-v[i]])*(1-c[i])) #include #include #include using namespace std; double dp[10050], c[10005]; int v[10010]; int main() { int n, m; while(scanf("%d %d原创 2013-09-12 19:57:13 · 515 阅读 · 0 评论 -
背包资料
http://blog.csdn.net/whyorwhnt/article/details/8611243 http://www.wutianqi.com/?p=539 http://www.cnblogs.com/ACMan/tag/%E8%83%8C%E5%8C%85DP/default.html?page=2 http://www.ahathinkin翻译 2013-09-12 21:38:54 · 499 阅读 · 0 评论