P67 · 装箱与覆盖 · 经典问题 · 应用前沿 · 难

周长固定矩形内的可变半径圆 · n = 28

文献中也称circle packing in a rectangle of fixed perimetervariable radius circle packingmaximum sum of radii

在一个周长为 4、长宽均可改变的矩形内放入 n 个内部互不重叠的圆。每个圆的半径也可独立改变,使半径之和最大。

严格定义

  • 容器width>0、height>0,且 width+height=2;左下角固定为 (0,0)
  • 提交恰好 n 个圆,每个写成 [x,y,r],半径严格为正
  • 约束每个圆完整位于矩形内;圆的内部两两不相交,相切允许
  • 目标最大化所有半径的精确整数和
挑战这个纪录
1.048812882y0
0x0.951187118
已验证构造计分是全部半径之和

帮助理解

容器和货物一起优化

固定正方形时只能调整圆;这里把一点周长从高度移给宽度,会改变所有贴边圆和空隙。它是容器选型与装箱设计耦合的最小模型。

为什么不平均

相同半径通常浪费曲边之间的空隙。大圆决定矩形比例,小圆填补接触图中的孔洞;增加一个圆甚至可能令整个长宽比跳到另一种结构。

公开前沿

2026 年的公开计算项目给出了 n≤60 的完整坐标。本站从第一个非平凡实例 n=3 开始展示其可验证九位网格版本;这些是最好已知构型,不是最优性证明。

查看来源
周长固定矩形内的可变半径圆 n = 28 的当前纪录构型,2.737084314
当前第一名

2.737084314

半径之和

已追平已知最好
答案来源Timo Berthold, Dominik Kamp, Gonzalo Mexi, Sebastian Pokutta and Ilja Polik
解题方式公开参考构造
挑战这个纪录
ANSWER FORMAT

答案怎么写

矩形左下角为 (0,0),宽为 width、高为 height;周长 2(width+height)=4。

提交 width、height,以及恰好 n 个 [x, y, r]。width + height 必须精确等于 2;所有数是最多九位小数的字符串。

当前第一名的答案

{
  "circles": [
    [
      "0.39731943",
      "0.759794257",
      "0.070757443"
    ],
    [
      "0.106704708",
      "0.337277371",
      "0.106702798"
    ],
    [
      "0.115371902",
      "0.115371902",
      "0.115371867"
    ],
    [
      "0.851199505",
      "0.540596552",
      "0.099986787"
    ],
    [
      "0.263049436",
      "0.98651275",
      "0.062299701"
    ],
    [
      "0.478324983",
      "0.581604544",
      "0.124978243"
    ],
    [
      "0.845462793",
      "0.334965807",
      "0.105723366"
    ],
    [
      "0.097767911",
      "0.745294232",
      "0.097766693"
    ],
    [
      "0.101821353",
      "0.545747167",
      "0.101821352"
    ],
    [
      "0.657991659",
      "0.069426634",
      "0.069425428"
    ],
    [
      "0.292797344",
      "0.24176476",
      "0.102469685"
    ],
    [
      "0.294658786",
      "0.069651695",
      "0.069651694"
    ],
    [
      "0.84038251",
      "0.938009757",
      "0.110802693"
    ],
    [
      "0.836474419",
      "0.114713129",
      "0.114712639"
    ],
    [
      "0.477012128",
      "0.346964372",
      "0.109665381"
    ],
    [
      "0.102909148",
      "0.945905648",
      "0.102906803"
    ],
    [
      "0.660223514",
      "0.240878582",
      "0.102040914"
    ],
    [
      "0.476472919",
      "0.118649353",
      "0.118648836"
    ],
    [
      "0.429013178",
      "0.938286395",
      "0.110526056"
    ],
    [
      "0.68837724",
      "0.649003284",
      "0.095621723"
    ],
    [
      "0.268661895",
      "0.652939508",
      "0.096486102"
    ],
    [
      "0.258960828",
      "0.836718235",
      "0.087547329"
    ],
    [
      "0.28729976",
      "0.450736254",
      "0.106573804"
    ],
    [
      "0.667029265",
      "0.448661473",
      "0.105853223"
    ],
    [
      "0.714805498",
      "0.810580681",
      "0.068102764"
    ],
    [
      "0.857468392",
      "0.7342006",
      "0.093718726"
    ],
    [
      "0.634568903",
      "0.95324123",
      "0.095571221"
    ],
    [
      "0.557787932",
      "0.782813778",
      "0.091351043"
    ]
  ],
  "height": "1.048812882",
  "width": "0.951187118"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看

子题参数

{
  "n": 28
}

当前第一名的答案

{
  "circles": [
    [
      "0.39731943",
      "0.759794257",
      "0.070757443"
    ],
    [
      "0.106704708",
      "0.337277371",
      "0.106702798"
    ],
    [
      "0.115371902",
      "0.115371902",
      "0.115371867"
    ],
    [
      "0.851199505",
      "0.540596552",
      "0.099986787"
    ],
    [
      "0.263049436",
      "0.98651275",
      "0.062299701"
    ],
    [
      "0.478324983",
      "0.581604544",
      "0.124978243"
    ],
    [
      "0.845462793",
      "0.334965807",
      "0.105723366"
    ],
    [
      "0.097767911",
      "0.745294232",
      "0.097766693"
    ],
    [
      "0.101821353",
      "0.545747167",
      "0.101821352"
    ],
    [
      "0.657991659",
      "0.069426634",
      "0.069425428"
    ],
    [
      "0.292797344",
      "0.24176476",
      "0.102469685"
    ],
    [
      "0.294658786",
      "0.069651695",
      "0.069651694"
    ],
    [
      "0.84038251",
      "0.938009757",
      "0.110802693"
    ],
    [
      "0.836474419",
      "0.114713129",
      "0.114712639"
    ],
    [
      "0.477012128",
      "0.346964372",
      "0.109665381"
    ],
    [
      "0.102909148",
      "0.945905648",
      "0.102906803"
    ],
    [
      "0.660223514",
      "0.240878582",
      "0.102040914"
    ],
    [
      "0.476472919",
      "0.118649353",
      "0.118648836"
    ],
    [
      "0.429013178",
      "0.938286395",
      "0.110526056"
    ],
    [
      "0.68837724",
      "0.649003284",
      "0.095621723"
    ],
    [
      "0.268661895",
      "0.652939508",
      "0.096486102"
    ],
    [
      "0.258960828",
      "0.836718235",
      "0.087547329"
    ],
    [
      "0.28729976",
      "0.450736254",
      "0.106573804"
    ],
    [
      "0.667029265",
      "0.448661473",
      "0.105853223"
    ],
    [
      "0.714805498",
      "0.810580681",
      "0.068102764"
    ],
    [
      "0.857468392",
      "0.7342006",
      "0.093718726"
    ],
    [
      "0.634568903",
      "0.95324123",
      "0.095571221"
    ],
    [
      "0.557787932",
      "0.782813778",
      "0.091351043"
    ]
  ],
  "height": "1.048812882",
  "width": "0.951187118"
}

提交 width、height,以及恰好 n 个 [x, y, r]。width + height 必须精确等于 2;所有数是最多九位小数的字符串。 · 验证器 v1.0.0

DISCUSSION

讨论区

聊思路、贴方法、问为什么卡住。发帖即公开署名,与纪录同一个名字;署名后的 #编号是账号的注册序号,冒不了名。发言资格与实绩绑定:破过一次纪录,就永久拥有发言权。新发言经自动审核后公开。

还没有帖子。第一个聊聊这道题的思路?