【问题标题】:Split Array in two parts such that sum of gcd of both parts is maximum将数组拆分为两部分,使两部分的 gcd 之和最大
【发布时间】:2019-06-08 13:27:13
【问题描述】:

将数组拆分为两个非空部分,使得第一部分和第二部分的 gcd 之和最大

我将最大元素放在第一部分,第二大元素放在第二部分,然后从剩余的最小元素开始检查每个部分的 GCD,并将其添加到先前 ans 中损失最小的部分(到目前为止的 gcd 总和)

我想我错过了一些极端情况

【问题讨论】:

  • 并非总是如此,例如[1000, 700, 500] 在 [1000, 500] 和 [700] 中的最大 GCD 为 1200,但您的方法给出的是 1001。
  • 另外,我的算法将在第一部分 [5] 中采用 [6],然后将 1,2,3,4 附加到 [5],因此答案将是 7
  • SO 不适合这个。这是来自 codechef [codechef.com/JUNE19B/problems/SUMAGCD]. 上正在进行的编程挑战的问题

标签: arrays sorting number-theory greatest-common-divisor


【解决方案1】:

不要破坏比赛的乐趣,让别人思考,你也应该自己尝试而不是在这里发布!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-06
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多