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

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

文献中也称squares in squarespacking unit squares in a squaretilted square packing

在单位正方形里放 n 个大小完全一样的小正方形,每个都可以任意旋转且互不重叠,让它们的共同边长尽可能大。

子题n = 23
目标最大化 最小边长

纪录对比

最小边长 · 越大越好
纪录数值 / 区间作者 / 持有人来源
外部已知最好1/5见来源署名Erich Friedman ↗
本站纪录暂无选手纪录——

严格定义

  • 容器单位正方形 [0, 1] × [0, 1],左下角为原点 (0, 0),右上角为 (1, 1)
  • 提交每个正方形表示为 {cx, cy, ux, uy}:中心坐标 (cx, cy) 与一条半边向量 (ux, uy),另一条正交半边向量固定为 (−uy, ux)
  • 约束每个正方形可任意旋转,且完全位于单位正方形内;任意两个正方形内部不重叠,允许边界接触。公开指标取所有正方形中的最小边长
  • 目标最大化共同边长(验证器在内部通过精确比较边长平方来判定高低)
放大编辑并提交 ↗

当前展示:起步布局

1y0
0x1
已验证构造23 个正方形

帮助理解

倾斜排布如何节省空间

当 n 不是完全平方数时,与坐标轴平行的网格排布往往会留下无法利用的条状余隙。允许正方形旋转后,部分正方形可以斜嵌在余隙中以腾出空间;例如 n = 5 的最优构型就是在四个正放的正方形中央嵌入一个旋转 45° 的正方形。

已知证明与开放前沿

这是经典的正方形装箱问题(文献常记最小容器边长为 s(n)):n = 3, 4, 6..9, 14..16, 25 的最优解已获得数学证明(Göbel、Kearney–Shiu 等),其余规模仍处于开放状态。Erich Friedman 的 squares 综述持续汇总该问题族的最新构造。

查看来源
可倾斜等正方形装入单位正方形 n = 23 的当前构型
构型与历史

起步布局

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

挑战这个纪录 ↗提交证明 / 思路 ↓在讨论区分享最优性证明或关键界限思路,经审核采纳后可获证明分。
历史纪录(2 次易主)
  1. Erich Friedman's Math Magic人工
    0.2→0.2
  2. lird人工
    0.04347826→0.2
ANSWER FORMAT

答案怎么写

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

每个正方形提交 {cx, cy, ux, uy},其中 (cx, cy) 为中心坐标,(ux, uy) 为一条半边向量,另一条正交半边向量固定取 (−uy, ux)。所有数值均以十进制字符串表示(如 "0.1")。由于倾斜正方形的最优边长通常是无理数,无法直接写成精确的有限小数,因此通过提交有理半边向量来唯一确定正方形及其边长。系统以所有正方形中的最小边长作为公开指标,故应使各正方形尺寸尽量一致。

起步布局答案

{
  "squares": [
    {
      "cx": "0.1",
      "cy": "0.1",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.3",
      "cy": "0.1",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.5",
      "cy": "0.1",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.7",
      "cy": "0.1",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.9",
      "cy": "0.1",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.1",
      "cy": "0.3",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.3",
      "cy": "0.3",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.5",
      "cy": "0.3",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.7",
      "cy": "0.3",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.9",
      "cy": "0.3",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.1",
      "cy": "0.5",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.3",
      "cy": "0.5",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.5",
      "cy": "0.5",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.7",
      "cy": "0.5",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.9",
      "cy": "0.5",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.1",
      "cy": "0.7",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.3",
      "cy": "0.7",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.5",
      "cy": "0.7",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.7",
      "cy": "0.7",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.9",
      "cy": "0.7",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.1",
      "cy": "0.9",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.3",
      "cy": "0.9",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.5",
      "cy": "0.9",
      "ux": "0.1",
      "uy": "0"
    }
  ]
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看+

子题参数

{
  "n": 23
}

起步布局答案

{
  "squares": [
    {
      "cx": "0.1",
      "cy": "0.1",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.3",
      "cy": "0.1",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.5",
      "cy": "0.1",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.7",
      "cy": "0.1",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.9",
      "cy": "0.1",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.1",
      "cy": "0.3",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.3",
      "cy": "0.3",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.5",
      "cy": "0.3",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.7",
      "cy": "0.3",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.9",
      "cy": "0.3",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.1",
      "cy": "0.5",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.3",
      "cy": "0.5",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.5",
      "cy": "0.5",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.7",
      "cy": "0.5",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.9",
      "cy": "0.5",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.1",
      "cy": "0.7",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.3",
      "cy": "0.7",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.5",
      "cy": "0.7",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.7",
      "cy": "0.7",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.9",
      "cy": "0.7",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.1",
      "cy": "0.9",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.3",
      "cy": "0.9",
      "ux": "0.1",
      "uy": "0"
    },
    {
      "cx": "0.5",
      "cy": "0.9",
      "ux": "0.1",
      "uy": "0"
    }
  ]
}

每个正方形提交 {cx, cy, ux, uy},其中 (cx, cy) 为中心坐标,(ux, uy) 为一条半边向量,另一条正交半边向量固定取 (−uy, ux)。所有数值均以十进制字符串表示(如 "0.1")。由于倾斜正方形的最优边长通常是无理数,无法直接写成精确的有限小数,因此通过提交有理半边向量来唯一确定正方形及其边长。系统以所有正方形中的最小边长作为公开指标,故应使各正方形尺寸尽量一致。 · 验证器 v1.0.0

DISCUSSION

讨论区

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