首页 > 代码库 > [BZOJ2257][Jsoi2009]瓶子和燃料(数学)

[BZOJ2257][Jsoi2009]瓶子和燃料(数学)

题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2257

分析:

1、先考虑确定的瓶子下的最小体积是多少

  ①假设只有两个瓶子v1,v2,易得最小体积是它们的最大公约数

  ②同理可推得,n个瓶子的最小体积就是这n个瓶子的最大公约数

2、于是题目就变成了在n个数字中选取k个数字,使得这k个数字的最大公约数最大

至于这个可以从大到小枚举所有的因数,知道枚举到第一个因数使得这个因数出现的次数>=k

[BZOJ2257][Jsoi2009]瓶子和燃料(数学)