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

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

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

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

纪录对比

正方形边长 · 越小越好
纪录数值 / 区间作者 / 持有人来源
外部已知最好220Rowan Jones2026-10Erich Friedman ↗
本站纪录220condor纪录详情 ↓

在公布精度内匹配已知最好;不代表精确相等或已证明最优。

严格定义

  • 容器左下角在原点 (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
放大编辑并提交 ↗

当前展示:本站纪录

已验证构造正方形边长 220

帮助理解

面积和最长的一块

全部多米诺的面积和是 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 = 41 的当前纪录构型,220
构型与历史

纪录详情

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

纪录保持者condor
解题方式AI · OpenAI: GPT-6.1 Sol
挑战这个纪录 ↗提交证明 / 思路 ↓在讨论区分享最优性证明或关键界限思路,经审核采纳后可获证明分。
纪录保持者的求解笔记暂无求解笔记(点击展开)+

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

历史纪录(3 次易主)
  1. condorAI · OpenAI: GPT-6.1 Sol
    227→220
  2. NUE's AI Chanllenge(GLM 5.3 Flash)AI · Z.ai: GLM 5.3 Flash
    230→227
  3. NUE_13人工
    241→230
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,
      "turn": "0",
      "x": "62",
      "y": "34"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "108",
      "y": "91"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "114",
      "y": "150"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "98",
      "y": "144"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "184",
      "y": "74"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "65",
      "y": "150"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "131",
      "y": "59"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "98",
      "y": "148"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "130",
      "y": "159"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "139",
      "y": "159"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "149",
      "y": "159"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "126",
      "y": "35"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "117",
      "y": "141"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "37",
      "y": "150"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "98",
      "y": "114"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "138",
      "y": "41"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "113",
      "y": "107"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "59",
      "y": "114"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "40",
      "y": "109"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "110",
      "y": "67"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "77",
      "y": "114"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "40",
      "y": "65"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "62",
      "y": "91"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "62",
      "y": "67"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "159",
      "y": "101"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "65",
      "y": "156"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "130",
      "y": "74"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "37",
      "y": "164"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "130",
      "y": "101"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "160",
      "y": "151"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "0",
      "y": "34"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "62",
      "y": "35"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "154",
      "y": "41"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "0",
      "y": "0"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "68",
      "y": "0"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "184",
      "y": "79"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "0",
      "y": "145"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "66",
      "y": "182"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "142",
      "y": "181"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "0",
      "y": "65"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "138",
      "y": "0"
    }
  ],
  "side": "220"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看+

子题参数

{
  "n": 41
}

当前第一名的答案

{
  "dominoes": [
    {
      "rotated": false,
      "turn": "0",
      "x": "62",
      "y": "34"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "108",
      "y": "91"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "114",
      "y": "150"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "98",
      "y": "144"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "184",
      "y": "74"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "65",
      "y": "150"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "131",
      "y": "59"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "98",
      "y": "148"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "130",
      "y": "159"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "139",
      "y": "159"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "149",
      "y": "159"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "126",
      "y": "35"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "117",
      "y": "141"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "37",
      "y": "150"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "98",
      "y": "114"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "138",
      "y": "41"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "113",
      "y": "107"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "59",
      "y": "114"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "40",
      "y": "109"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "110",
      "y": "67"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "77",
      "y": "114"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "40",
      "y": "65"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "62",
      "y": "91"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "62",
      "y": "67"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "159",
      "y": "101"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "65",
      "y": "156"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "130",
      "y": "74"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "37",
      "y": "164"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "130",
      "y": "101"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "160",
      "y": "151"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "0",
      "y": "34"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "62",
      "y": "35"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "154",
      "y": "41"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "0",
      "y": "0"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "68",
      "y": "0"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "184",
      "y": "79"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "0",
      "y": "145"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "66",
      "y": "182"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "142",
      "y": "181"
    },
    {
      "rotated": true,
      "turn": "0",
      "x": "0",
      "y": "65"
    },
    {
      "rotated": false,
      "turn": "0",
      "x": "138",
      "y": "0"
    }
  ],
  "side": "220"
}

提交 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)以防冒名。新发言经审核后公开。