ACM-母函数
文章平均质量分 79
iaccepted
爱生活,爱算法!
展开
-
HDU 1171 Big Event in HDU (母函数)
题意:有n样物品,每样物品价值是v,件数是m。尽量把这些物品分成两堆使得两边总价值最接近。输出分得的两堆各自的价值。 利用母函数法来解决,因为分成两堆,而两堆中较小的一堆最大为所有物品总价值量的一半,所以母函数的组合数上下就可以设置成总价值量的一半。求出所有的组合后,可以利用贪心的思想来得到答案,因为要求两堆之差尽可能小,所以就可以从总价值量的一半开始向小的方向找,找到最大的价值量,则另一堆的价值量就是总价值量-此堆的价值量。因为组合数可能较大,这里不记录组合种数,而是用一个标记来表示该数能否组合出即可。原创 2014-04-28 16:42:39 · 3628 阅读 · 0 评论 -
HDU 1398 Square Coins (母函数-整数拆分变形)
Square Coins Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7612 Accepted Submission(s): 5156 Problem Description People in Sil原创 2014-04-28 17:20:44 · 3184 阅读 · 0 评论 -
HDU 1085 Ignatius and the Princess III (母函数-整数拆分)
Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 11780 Accepted Submission(s): 8340 Problem Descriptio原创 2014-04-25 14:00:07 · 1803 阅读 · 0 评论 -
HDU 2110 Crisis of HDU (母函数问题)
题目是中文的,意思很好理解,刚开始一看题目,估算了下数据量感觉搜索可以过的,就写了个dfs,但是无论怎么剪枝都超时,后来在网上看别人的解题报告,知道解此类组合类问题可以用母函数法,在网上搜索了母函数的相关知识学习了一下,此题A掉了。明天再做几个母函数的问题,关于母函数知识点的学习,过几天我会专门写一篇学习总结,供自己记录学习之用。原创 2014-04-22 21:47:44 · 2529 阅读 · 0 评论 -
HDU 1085 Holding Bin-Laden Captive! (母函数)
题意:给定三中硬币,面值分别为1,2,5,并且给定三种硬币的数量分别为num_1,num_2,num_5,然后让求解这些硬币所不能组成的最小的面额是多少,例如给定的例子,面值为1的硬币为1枚,面值为2的硬币为1枚,面值为5的硬币为3枚,则可以组成的面值有1,2,3,5......所以,不能组成的最小面额为4。这就是一道母函数的问题,但是这里并不是求组合数,所以,不需要int行的数组来记录组合数,只需要true和false来标示是否能表示该面值就可以了。当然用int记录组合数也可以,但要注意,因为组合量非常大原创 2014-04-24 23:24:14 · 3304 阅读 · 0 评论 -
HDU 1709 The Balance (母函数)
题意:给定一系列重量的砝码,然后问由这些砝码不能称出的重量有多少,并且打印这些重量,重量范围为1-s其中s为所有砝码的质量总和。 值得注意的是这个题目中的砝码可以在天平两遍都放。所以母函数完了,要记得考虑一下两遍放的情况。最后将这些不能称取的重量输出就可以了。我这里的做法麻烦了,因为只要求重量能否称出,而不需要计算有多少种称出方法,所以不用考虑砝码重量重复的情况,即无需用hash的方法把重量处理。直接正常的读入然后母函数就可以了,过几天会修改下。原创 2014-06-09 16:12:01 · 2704 阅读 · 0 评论