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

连续尺寸多米诺装入正方形 · n = 4

把第 k 块为 k × 2k(k = 1, …, n)的 n 块多米诺互不重叠地放进正方形,可任意平移与转动,使正方形边长最小。

子题n = 4
目标最小化 正方形边长

纪录对比

正方形边长 · 越小越好
纪录数值 / 区间作者 / 持有人来源
已证明最优8见来源署名Erich Friedman ↗
本站纪录8qiboqi纪录详情 ↓

本站纪录已达到已证明的最优值。

严格定义

  • 容器左下角在原点 (0, 0)、右上角在 (side, side) 的闭正方形;单位是最小那块多米诺的短边;允许多米诺贴边
  • 提交正方形边长 side > 0,以及恰好 n 块多米诺的放置:第 k 块(k = 1, …, n)是 k × 2k 的闭长方形,每块恰好用一次;所有数值最多九位小数
  • 摆放每块可任意平移和转动:rotated 决定横放(2k × k)或竖放(k × 2k),再绕左下角 (x, y) 逆时针转 θ,tan(θ/2) = turn。cos θ 与 sin θ 都是有理数,所以全部顶点都是有理数,任意朝向都能写出
  • 约束每块的四个顶点都在正方形内;任意两块内部不相交(允许贴合),以两块的边法向做分离轴检验。全部用整数精确判定,不取近似
  • 分数正方形边长 side,以最多九位小数显示;越小越好S=side
  • 目标在所有合法放置中最小化正方形边长minSside
打开编辑器查看 ↗

当前展示:本站纪录

已验证构造正方形边长 8.000000000

帮助理解

面积和最长的一块

全部多米诺的面积和是 2(1² + 2² + … + n²) = n(n + 1)(2n + 1)/3,所以边长至少是它的平方根;最长的一块又要求边长至少 2n,n ≤ 4 时正是后者说了算。n = 41 时面积下界约 218.3,文献值 220 只浪费了正方形不到 2% 的面积:大块定骨架,小块填缝,空隙几乎没有。

文献纪录

Erich Friedman 的公开表 Consecutive Dominoes in Squares 收录 n = 1–41,每个边长都是整数,表中的构型都是横平竖直的。n = 1–4 是平凡的 s = 2n;n = 5–24 多由 Friedman 本人在 1998–2014 年给出,其中 n = 20 是 Maurizio Morandi 2014 年的结果,表中注明只有这一行可能不是最优;n = 25–38 来自 Matthew Sun 等人 2026 年 6 月的结果,n = 26 在 9 月由 Ryan Chi 与 d/dx 改进;n = 39–41 由 Rowan Jones 在 2026 年 10 月加入。本站只引用各行数值与作者,没有复原其构型;每档的起步是本站的普通货架布局,落后于文献值,不是外部纪录。

查看来源
连续尺寸多米诺装入正方形 n = 4 的当前纪录构型,8
构型与历史

纪录详情

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

纪录保持者qiboqi
解题方式人工
最优值已获严格证明,无法继续提升提交证明 / 思路 ↓在讨论区分享最优性证明或关键界限思路,经审核采纳后可获证明分。
纪录保持者的求解笔记暂无求解笔记(点击展开)+

纪录保持者暂未分享求解过程。

历史纪录(1 次易主)
  1. qiboqi人工
    10→8
ANSWER FORMAT

答案怎么写

单位是最小那块多米诺的短边:第 k 块是 k × 2k 的长方形。容器是你自己给出的正方形,左下角在原点 (0, 0),右上角在 (side, side),side 越小越好。坐标和边长用同一个单位,写成最多九位小数的十进制数,例如 "3.5"。

提交 side 与 dominoes。side 是正方形边长,正方形左下角在原点。dominoes 恰好 n 项,第 k 项是短边为 k 的多米诺(k × 2k),写成 {"x", "y", "rotated"},可加 "turn":(x, y) 是它的左下角,也是转动的支点;rotated 为 false 时横放(宽 2k、高 k),为 true 时竖放(宽 k、高 2k);turn 是再绕该角逆时针转过的角度 θ 的 tan(θ/2),绝对值不超过 1,缺省为 0。除 rotated 外,数值都写成最多九位小数的十进制字符串(例如 "3.5")。

当前第一名的答案

{
  "dominoes": [
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "7.000000000"
    },
    {
      "rotated": false,
      "turn": "1.000000000",
      "x": "8.000000000",
      "y": "4.000000000"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "4.000000000"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.000000000"
    }
  ],
  "side": "8.000000000"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看+

子题参数

{
  "n": 4
}

当前第一名的答案

{
  "dominoes": [
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "7.000000000"
    },
    {
      "rotated": false,
      "turn": "1.000000000",
      "x": "8.000000000",
      "y": "4.000000000"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "4.000000000"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.000000000"
    }
  ],
  "side": "8.000000000"
}

提交 side 与 dominoes。side 是正方形边长,正方形左下角在原点。dominoes 恰好 n 项,第 k 项是短边为 k 的多米诺(k × 2k),写成 {"x", "y", "rotated"},可加 "turn":(x, y) 是它的左下角,也是转动的支点;rotated 为 false 时横放(宽 2k、高 k),为 true 时竖放(宽 k、高 2k);turn 是再绕该角逆时针转过的角度 θ 的 tan(θ/2),绝对值不超过 1,缺省为 0。除 rotated 外,数值都写成最多九位小数的十进制字符串(例如 "3.5")。 · 验证器 v1.0.0

DISCUSSION

讨论区

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