P06 · 装箱与覆盖 · 经典问题

半径成等差的圆装入圆 · n = 2

文献中也称packing circles with radii 1 to ngraduated circle packing

将半径分别为 1, 2, …, n 的 n 个圆互不重叠地放入一个圆内,使外围容器圆的半径尽可能小。

子题n = 2
目标最小化 容器半径

纪录对比

容器半径 · 越小越好
纪录数值 / 区间作者 / 持有人来源
已证明最优3见来源署名packomania.com ↗
本站纪录暂无选手纪录——

已完成已有达到理论上限的公开解答,该子题已无竞争空间

严格定义

  • 容器圆心位于 (radius, radius)、半径为 radius 的圆(以最小圆的半径为单位 1,radius 即为待最小化的目标值)
  • 提交容器半径 radius 与圆心列表 centers(按半径 1, 2, …, n 依次排列)
  • 约束第 i 个圆的半径恰好为 i;任意两圆内部不重叠;每个圆完全位于容器圆内
  • 目标最小化容器圆半径 radius
打开编辑器查看 ↗

当前展示:起步布局

6y0
0x6
已验证构造r = 3

帮助理解

大圆定局与小圆填隙

半径最大的几个圆决定了容器半径的下界与主体骨架,而半径较小的圆可以填入大圆之间及靠近边界的空隙。每当 n 增加 1 时,新增的最大圆往往会改变大圆之间的接触关系,使整体排布发生重排。

已知证明与开放前沿

将半径为 1..n 的圆装入最小圆曾是 2005 年 Al Zimmermann 编程竞赛的赛题。本站已导入 Packomania 收录的 n = 1..200 公开已知最优构型;n ≥ 5 的最优性尚未给出数学证明,较大规模的子题合并为同一张数据表供算法挑战。

查看来源
半径成等差的圆装入圆 n = 2 的当前构型
构型与历史

起步布局

查看构型、求解笔记与纪录历史。

最优值已获严格证明,无法继续提升提交证明 / 思路 ↓在讨论区分享最优性证明或关键界限思路,经审核采纳后可获证明分。
历史纪录(6 次易主)
  1. Packomania · Eckard Specht人工
    3→3
  2. 3.015194242→3
  3. 匿名人工
    3.023728653→3.015194242
  4. Eraser人工
    3.061794944→3.023728653
  5. yome人工
    3.091970439→3.061794944
  6. Jev Li人工
    3→3.091970439
ANSWER FORMAT

答案怎么写

单位就是最小那个圆的半径:第 i 个圆的半径正好是 i。容器是你自己给出的圆,圆心在 (radius, radius),所以坐标范围是 0 到 2·radius,radius 越小越好。坐标和半径用同一个单位,直接写成小数,例如 "7.5",最多九位小数。

提交容器圆半径 radius 与各圆圆心坐标 centers(按半径 1, 2, …, n 的顺序排列)。容器圆的圆心固定在 (radius, radius)。所有数值均以十进制字符串表示(如 "7.5")。

起步布局答案

{
  "centers": [
    [
      "5",
      "3"
    ],
    [
      "2",
      "3"
    ]
  ],
  "radius": "3"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看+

子题参数

{
  "n": 2
}

起步布局答案

{
  "centers": [
    [
      "5",
      "3"
    ],
    [
      "2",
      "3"
    ]
  ],
  "radius": "3"
}

提交容器圆半径 radius 与各圆圆心坐标 centers(按半径 1, 2, …, n 的顺序排列)。容器圆的圆心固定在 (radius, radius)。所有数值均以十进制字符串表示(如 "7.5")。 · 验证器 v1.0.0

DISCUSSION

讨论区

欢迎交流解题思路、分享构造方法或探讨卡壳之处。所有登录用户均可发帖;发言使用与排行榜一致的公开署名,并附带唯一注册编号(#UID)以防冒名。新发言经审核后公开。