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

连续尺寸 L 形装入正方形 · n = 40

把短边依次为 1, 2, …, n 的 n 块 L 形互不重叠地放进正方形。每块由三个同样大的正方形拼成,可自由平移和旋转,使容器边长尽可能小。

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

纪录对比

正方形边长 · 越小越好
纪录数值 / 区间作者 / 持有人来源
外部已知最好——暂无收录
本站纪录263condor纪录详情 ↓

严格定义

  • 容器闭正方形 [0,side]²,0 < side ≤ 4096;以最小 L 形的短边为单位。
  • 提交第 k 块的局部顶点依次为 (−k,−k)、(k,−k)、(k,0)、(0,0)、(0,k)、(−k,k)。坐标 (x,y) 是平移后的原点。
  • 旋转允许自由旋转,不限 90°;用整数直角旋转和有理半角参数表示。九位小数提交是连续问题的有限精度版本,并非每个实数角度都能精确表示。镜像与某次旋转全等,无需独立镜像参数。
  • 约束每块分为两个内部不重叠的长方形,以有理数精确检查每对部件;不把凹 L 形当作凸包。接触合法,任何正面积重叠都拒绝。
  • 目标最小化正方形边长。公开分数与外部表的 s 相同,无需换算。S=side
放大编辑并提交 ↗

当前展示:本站纪录

已验证构造正方形边长 263

帮助理解

面积下界

总面积为 3∑k² = n(n+1)(2n+1)/2,因此 side² 至少是这个值。面积下界未必能达到:凹口和大块之间的空隙同样重要。

外部纪录

Friedman 表收录 n=1–20,引用数值和原作者。n=21–50 暂无对应的已引用外部纪录,使用本站普通货架基线。n=1、2 已证明最优,其余子题开放。

查看来源
连续尺寸 L 形装入正方形 n = 40 的当前纪录构型,263
构型与历史

纪录详情

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

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

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

历史纪录(7 次易主)
  1. condorAI · OpenAI: GPT-6.1 Sol
    264→263
  2. condorAI · OpenAI: GPT-6.1 Sol
    265→264
  3. condorAI · OpenAI: GPT-6.1 Terra
    266→265
  4. condorAI · OpenAI: GPT-6.1 Sol
    270→266
  5. condorAI · OpenAI: GPT-6.1 Sol
    271→270
  6. condorAI · OpenAI: GPT-6.1 Sol
    277→271
  7. condorAI · OpenAI: GPT-6.1 Sol
    335→277
ANSWER FORMAT

答案怎么写

坐标、L 形短边和容器边长使用同一单位。拖动 L 形可移动整块,旋转角度在坐标表中编辑。

提交 side 和 placements。第 k 项对应短边为 k 的 L 形,写成 {"x":"…","y":"…","quarter":0,"turn":"0"}。(x,y) 是外框中心,也是凹角。quarter 是 0–3 的整数,先逆时针转 quarter×90°,再转 θ,turn=tan(θ/2),|turn|≤1。其他数值用最多九位小数的字符串。

当前第一名的答案

{
  "placements": [
    {
      "quarter": 0,
      "turn": "0",
      "x": "79",
      "y": "145"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "78",
      "y": "144"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "256",
      "y": "17"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "252",
      "y": "17"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "76",
      "y": "142"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "88",
      "y": "81"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "88",
      "y": "74"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "240",
      "y": "10"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "231",
      "y": "10"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "71",
      "y": "137"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "124",
      "y": "75"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "112",
      "y": "75"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "250",
      "y": "35"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "236",
      "y": "35"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "206",
      "y": "34"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "206",
      "y": "18"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "170",
      "y": "246"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "170",
      "y": "228"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "167",
      "y": "191"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "61",
      "y": "127"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "167",
      "y": "170"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "124",
      "y": "190"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "101",
      "y": "190"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "128",
      "y": "238"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "103",
      "y": "238"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "108",
      "y": "141"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "108",
      "y": "114"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "164",
      "y": "120"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "164",
      "y": "91"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "160",
      "y": "31"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "129",
      "y": "31"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "66",
      "y": "34"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "33",
      "y": "34"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "228",
      "y": "119"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "228",
      "y": "84"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "225",
      "y": "227"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "225",
      "y": "190"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "39",
      "y": "225"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "39",
      "y": "186"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "41",
      "y": "107"
    }
  ],
  "side": "263"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看+

子题参数

{
  "n": 40
}

当前第一名的答案

{
  "placements": [
    {
      "quarter": 0,
      "turn": "0",
      "x": "79",
      "y": "145"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "78",
      "y": "144"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "256",
      "y": "17"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "252",
      "y": "17"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "76",
      "y": "142"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "88",
      "y": "81"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "88",
      "y": "74"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "240",
      "y": "10"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "231",
      "y": "10"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "71",
      "y": "137"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "124",
      "y": "75"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "112",
      "y": "75"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "250",
      "y": "35"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "236",
      "y": "35"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "206",
      "y": "34"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "206",
      "y": "18"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "170",
      "y": "246"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "170",
      "y": "228"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "167",
      "y": "191"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "61",
      "y": "127"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "167",
      "y": "170"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "124",
      "y": "190"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "101",
      "y": "190"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "128",
      "y": "238"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "103",
      "y": "238"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "108",
      "y": "141"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "108",
      "y": "114"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "164",
      "y": "120"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "164",
      "y": "91"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "160",
      "y": "31"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "129",
      "y": "31"
    },
    {
      "quarter": 2,
      "turn": "0",
      "x": "66",
      "y": "34"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "33",
      "y": "34"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "228",
      "y": "119"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "228",
      "y": "84"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "225",
      "y": "227"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "225",
      "y": "190"
    },
    {
      "quarter": 3,
      "turn": "0",
      "x": "39",
      "y": "225"
    },
    {
      "quarter": 1,
      "turn": "0",
      "x": "39",
      "y": "186"
    },
    {
      "quarter": 0,
      "turn": "0",
      "x": "41",
      "y": "107"
    }
  ],
  "side": "263"
}

提交 side 和 placements。第 k 项对应短边为 k 的 L 形,写成 {"x":"…","y":"…","quarter":0,"turn":"0"}。(x,y) 是外框中心,也是凹角。quarter 是 0–3 的整数,先逆时针转 quarter×90°,再转 θ,turn=tan(θ/2),|turn|≤1。其他数值用最多九位小数的字符串。 · 验证器 v1.0.0

DISCUSSION

讨论区

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