ACM背包问题
文章平均质量分 58
Drak瞳
I want to be a hacker,but now I'm ACMer.
展开
-
Poj 2184解题报告(01背包变种)
首先吐槽一下,这是楼主第一次写博客,为的是记录以下自己一下自己所做的题目,其次若是能帮到别人那就最好拉,而且写博客也是好习惯呢!所以之后应该会坚持,每做一题就写一次解题报告的.题目的大意是:有N只牛,每只牛分别有S和F两个参数,分别是代表那头牛的智力值和有趣值.现在要选出一些牛,使得TS(智力总和),TF(有趣总和)的和最大(即TS + TF 的最大值).其中(-1000<=S,F,<=1000)原创 2015-11-17 21:13:56 · 474 阅读 · 0 评论 -
Hdu 2639 Bone Collector II(第K大最优解01背包)
这是很基本的01背包的题目,在背包九讲里面有讲过.题目大意:背景材料没看懂,不过题目意思是求出第K大的不重复的最优解.注意点:题目是先给出每件东西的价值,然后再给出每件东西的体积( (T T) 下意识以为先给体积再给价值的..)以下是A了的代码:#include #include #include #include #include #include #原创 2015-11-18 15:02:05 · 334 阅读 · 0 评论 -
Hdu 2162 Buy the souvenirs(一个求最优解总数的01背包题)
背包的変式还真多啊,这一次又被困扰主了,后来翻了翻背包九讲,发现原来求最优解总数能用dp解决,然后....题目大意:某人有m(0块钱,然后问,最多能买多少个纪念品,同时选择又有多少.思路:普通的01背包就不讲了.来讲讲求和那回事把首先讲一下G[i][j]的定义:对第i个物品决策后的最优解方案个数.状态转移方程: if(dp[j - v[i]]+1>dp[j]){原创 2015-11-19 22:18:43 · 459 阅读 · 0 评论 -
Hdu 3466 Proud Merchants(01背包变种)
有一些小技巧的01背包.题目大意:自己有m(1分别是Pi(消耗的金钱),Qi(购买时所需要的金钱),Vi(价值),[1问:获得的最大价值.思路:简单分析了样例2会发现,物品购买的顺序是会影响到所获得的价值,然而我的第一思路是将Qi按小到大排序,呵呵WA了.再继续分析,令Ti=Qi-Pi,我把Ti当成了买一件物品所需要的定金.根据 Donnie_Darko 的博客:http:原创 2015-11-19 07:45:01 · 431 阅读 · 0 评论 -
Poj 1787 Charlie's Change(多重背包 或者 记录的完全背包)
这题首先A出的思路是多重背包,因为个数不是无限,很容易就联想到是多重背包了,其实一开始打算用完全背包写的,因为之前做过的即到关于硬币的题目都是用完全背包写的,这题是因为要记录个数所以就每想下去了,看了别人AC的时间,然后搜了下题解才发现可以用完全背包题目大意:用有限个1,5,10,25这些硬币构成一个数n,要求使用硬币数最多,问每种硬币使用的个数.思路:多重背包:用二进制的思想原创 2015-11-21 16:50:01 · 393 阅读 · 0 评论 -
Uva 147 Dollars(是完全背包)
这题目和Uva 674的思路完全一样,只要开始对数据简单地弄弄,那么就可以了.题目大意:你有11种面值的币,然后给你一个金额,问有多少种情况可以凑出来(一定是合法的).思路:dp[j]代表凑出j金额的总方案个数,动态转移方程:dp[j] += dp[j - num[i]]; 由前面最优解推出;注意:精度!精度!精度!(int n = (int)(nt*100 + 0.5),因为这个原因原创 2015-11-20 17:11:31 · 406 阅读 · 0 评论