8.21【A】

发布时间:2026/10/12 18:00:58
8.21【A】 3116就是说对于coin先有各自的倍数然后再是公倍数如果找到coins当中共同的最小公倍数x后那么后面的所有数都是这个x的倍数但如果最小公倍数不存在coin当中呢或为1就无法组合或许二分搜索对于第k小的数它的上界一定为min(coin*k)那么在这个搜索区间内的对于每个数对于每个coin的numnum一定小于等于k对Num求和这个求和结果去逼近k那么关键在于num求和时的相同数字去重对于搜索数x对coin1为第num1的数对coin2为第num2的数找到coin1和coin2的最小公倍数y那么期间会重复x/y个数所以只有两个数的情况下对于x是所有情况下的第num1num2-x/y个数记为a如果a大于k说明x大了应该减小x如果a小于k说明x小了应该增大x之后如果coins的数量不为2那么就是两两组合它们如果有z个硬币那就有Cz2组合数量的公倍数再容斥定理去减掉还有就是说该寻找的是最小公倍数还是最大公约数对于[3,6,9]的组合对于多个数的组合还是有点难说就是得容斥定理对于三方的情况就是abc-d-e-f2g如果是四方或更多则更复杂这个数量的限制是15所以最多有15个可能互相发生重叠的部分那这个题的流程就是对于coins当中的所有数先两两三三全组合出来它们的最小公倍数即两个之间的三个之间的四个之间的....然后把lcm结果保存到一个数组当中以上是预处理之后再二分对某个搜索数x运用容斥定理去计算出一个结果不断去搜索质因数分解这样可以保证每个循环里的p都是可以分解出来的质数比如2增长到3都是质数到4时4一定不会被x整除因为如果可以整除那么在p2的时候就可以被整除了使其count了最大公约数为什么是取每个质因子出现的最小值以及如果有另一个数没出现过的质因子是取0还是1就是说每个数都是由质因数相乘组成的然后如果要求两个数所构成的最大公约数就必须满足这两个数质因数的要求即不能超过其最小质因数次数的限制否则一旦多的话就不能被那个组成数所整除a和b以及gcd与lcm关系求解这个就是说把a和b拆成质因数相乘后由于gcd和lcm都是分别取a和b的最小和最大次数相乘所得到的那么把它们乘在一起的结果也必然同时包含其质因数里的最大值和最小值因为就俩数不是最大值就是最小值那么也就是a和b的乘积

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询