KIJamesQi的博客

大神养成中。

hdu5410 CRB and Birthday(背包)

这题就是背包,二进制优化下就好了。 不懂二进制优化的就看看背包九讲/***************************************** Author :Crazy_AC(JamesQi) Time :2016 File Name : *********...

2016-07-18 22:45:42

阅读数 195

评论数 0

uva10310(SuperSale)

思路:题目的意思就是有n种物品,m个人,每种物品有对应的价值和重量,数量无限,,但是每种物品每个人只能拿一次,然后每个人有一个最高承重值,问最后这n个人最多可以带走的价值和事多少; 显然对于个人而言,别人拿多少对自己是没有影响的,所以就只讨论每个人的情况,最后加起来就好了。 对于每个人来说就是...

2015-10-27 00:00:08

阅读数 250

评论数 0

CSU1613 Elephants

思路:多重背包; #include #include int t,n,m; int dp[1010],A[21][51],C[21][51],num[21]; int max(int x,int y) { return x > y?x:y; } int main() { // fr...

2015-10-10 18:16:25

阅读数 286

评论数 0

hdu2126(三维背包)

思路:显然的思路是前i个物品选j个花费k元的次数。 dp[i][j][k] = dp[i - 1][j][k] + dp[i - 1][j - 1][k - v[i]]; 由上面的转移方程可以看出来,可以去掉一维,就是dp[j][k] = dp[j - 1][k - v[i]] + dp[j]...

2015-10-06 20:43:26

阅读数 320

评论数 0

hdu4501(三维背包)

思路:dp[i][j][k],第一维表示用钱买,第二维表示用积分换,第三维表示免费的。对于每个商品而言,要么用钱,要么用积分,要么用免费的次数。 所以呢,dp[i][j][k] = max(dp[i - a[s]][j][k],dp[i][j - b[s]][k],dp[i][j][k - 1]...

2015-10-06 20:36:15

阅读数 387

评论数 0

HDU11完全背包

思路:求最小初始化为inf,求最大初始化成-inf;dp[0] = 0; /***************************************** Author :Crazy_AC(JamesQi) Time :2015 File Name : *****...

2015-09-14 16:22:53

阅读数 408

评论数 0

hdu4501三维背包

思路:题意就是小明去买东西,每个物品呢可以用钱购买,也可以用积分换,总共小明也有免费获得物品的次数k次(也就是可以免费获得k个物品); 所以最后的决策就是是用钱买,还是用积分换,还是用免费领取的次数; 这里的01背包和我以前写的方式有点不同就是,,,这个继承上一个状态的写法; 以前是倒着写的,由于...

2015-09-09 16:20:20

阅读数 268

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭