P18 · 装箱与覆盖 · 经典问题 · 基线易突破

可倾斜等正方形装入单位正方形 · n = 12

在单位正方形内放 n 个大小完全相同的小正方形,每个都可以任意转角度,互不重叠;让共同边长尽可能大。

子题n = 12
目标最大化 最小边长
已知最好(未证明)1/4证书可写的最好值 0.254 × 4 格里的十二格;s(12) = 4 普遍认为最优但未获证明提交只收小数,所以纪录追的是这个可写值;如果你认为自己求出了理论最优的闭式,欢迎邮件投稿。 minmaxarena.com@gmail.com

严格定义

  • 容器单位正方形:左下角是原点 (0, 0),右上角是 (1, 1)
  • 提交每个正方形写 {cx, cy, ux, uy}:中心加一条半边向量,另一条固定取 (−uy, ux)
  • 约束每个正方形的角度完全自由;全部落在容器内;两两内部不重叠,贴边接触允许。计分只看最小的那个正方形,所以边长不一致占不到便宜
  • 目标让共同边长尽可能大。内部以其平方精确比较
放大来摆,然后提交
1y0
0x1
已验证构造12 个正方形

帮助理解

为什么允许倾斜

正着摆是网格;斜着摆能在网格漏下的缝里再挤出空间。n = 5 的已知最好解就有一个 45° 的正方形卡在四个正放的中间。倾斜是这道题和普通装箱的全部区别。

前沿在哪里

s(n) 记号下的经典问题:n = 3, 4, 6..9, 14..16, 25 已证明(Göbel、Kearney–Shiu 等),其余开放;Friedman 的 squares 综述持续更新这一族。

查看来源
当前第一名

0.25

最小边长

已追平已知最好
纪录保持者创始基准
解题方式人工
挑战这个纪录
历史纪录(4 次易主)
  1. 匿名人工
    0.250.25
  2. lird人工
    0.2357022560.25
  3. lird人工
    0.0833333320.235702256
  4. Seia人工
    0.08333333200.0833333327
ANSWER FORMAT

答案怎么写

容器是边长 1 的正方形,左下角是原点 (0, 0),右上角是 (1, 1)。坐标和向量用同一个单位,直接写成小数,例如 "0.1",最多九位小数。

每个正方形提交 {cx,cy,ux,uy}:中心加一条半边向量,另一条半边向量固定取 (-uy,ux)。每个数写成十进制字符串,例如 "0.1";角度完全自由,计分取最小正方形的边长,所以把它们写得一样大最划算。边长本身几乎总是无理数,写不成有限小数,所以你写的是那条半边向量,边长由它精确定出。

当前第一名的答案

{
  "squares": [
    {
      "cx": "0.125",
      "cy": "0.125",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.375",
      "cy": "0.125",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.625",
      "cy": "0.125",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.875",
      "cy": "0.125",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.125",
      "cy": "0.375",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.375",
      "cy": "0.375",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.625",
      "cy": "0.375",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.875",
      "cy": "0.375",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.125",
      "cy": "0.625",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.375",
      "cy": "0.625",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.625",
      "cy": "0.625",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.875",
      "cy": "0.625",
      "ux": "0.125",
      "uy": "0"
    }
  ]
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看

子题参数

{
  "n": 12
}

当前第一名的答案

{
  "squares": [
    {
      "cx": "0.125",
      "cy": "0.125",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.375",
      "cy": "0.125",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.625",
      "cy": "0.125",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.875",
      "cy": "0.125",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.125",
      "cy": "0.375",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.375",
      "cy": "0.375",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.625",
      "cy": "0.375",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.875",
      "cy": "0.375",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.125",
      "cy": "0.625",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.375",
      "cy": "0.625",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.625",
      "cy": "0.625",
      "ux": "0.125",
      "uy": "0"
    },
    {
      "cx": "0.875",
      "cy": "0.625",
      "ux": "0.125",
      "uy": "0"
    }
  ]
}

每个正方形提交 {cx,cy,ux,uy}:中心加一条半边向量,另一条半边向量固定取 (-uy,ux)。每个数写成十进制字符串,例如 "0.1";角度完全自由,计分取最小正方形的边长,所以把它们写得一样大最划算。边长本身几乎总是无理数,写不成有限小数,所以你写的是那条半边向量,边长由它精确定出。 · 验证器 v1.0.0