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

连续长方形共同比例装箱 · n = 20

把 1×1、1×2、…、1×n 的长方形按同一比例缩放后装入单位正方形,使共同缩放比例尽可能大。

子题n = 20
目标最大化 共同缩放

严格定义

  • 容器单位正方形:左下角是原点 (0, 0),右上角是 (1, 1)
  • 提交按 1×1 到 1×n 的顺序提交 placements(位置加可选的 90° 旋转),外加共同比例 scale
  • 约束所有长方形用同一个比例;只能旋转 90°;互不重叠且不越界
  • 目标让共同缩放比例尽可能大
放大来摆,然后提交
1y0
0x1
已验证构造scale = 0.050000000

帮助理解

哪里有优化空间

从 1×1 到 1×n 的长条同比例放大,越窄的越长:竖插还是横躺、谁的缝贴谁,像一副必须全部塞进去的拼图。比例每抬一点,所有 n 条都要重新找位置。

前沿在哪里

n ≤ 2 是平凡情形。近亲「连续矩形装入相似矩形」收录在 Friedman 的 Packing Center(minrect 页);装入正方形的这个变体没有逐 n 的文献,其余 n 全部开放。

查看来源
当前第一名

0.050000000

共同缩放

纪录保持者lird
解题方式人工
挑战这个纪录
历史纪录(2 次易主)
  1. lird人工
    0.0494931960.050000000
  2. Jev Li人工
    0.0476190470.049493196
ANSWER FORMAT

答案怎么写

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

按 1×i 顺序提交 placements;允许旋转 90°。

当前第一名的答案

{
  "placements": [
    {
      "rotated": false,
      "x": "0.066061786",
      "y": "0.556110357"
    },
    {
      "rotated": false,
      "x": "0.142303844",
      "y": "0.877652589"
    },
    {
      "rotated": false,
      "x": "0.017071340",
      "y": "0.015852740"
    },
    {
      "rotated": false,
      "x": "0.013976478",
      "y": "0.343226115"
    },
    {
      "rotated": false,
      "x": "0.449387893",
      "y": "0.152918174"
    },
    {
      "rotated": false,
      "x": "0.301181660",
      "y": "0.672932164"
    },
    {
      "rotated": false,
      "x": "0.068832913",
      "y": "0.631181159"
    },
    {
      "rotated": false,
      "x": "0.211407171",
      "y": "0.600000000"
    },
    {
      "rotated": false,
      "x": "0.199327894",
      "y": "0.029457248"
    },
    {
      "rotated": false,
      "x": "0.265667734",
      "y": "0.115157613"
    },
    {
      "rotated": false,
      "x": "0.442221551",
      "y": "0.441317085"
    },
    {
      "rotated": false,
      "x": "0.145487824",
      "y": "0.241126443"
    },
    {
      "rotated": false,
      "x": "0.520593182",
      "y": "0.340729123"
    },
    {
      "rotated": false,
      "x": "0.595188391",
      "y": "0.282682554"
    },
    {
      "rotated": false,
      "x": "0.371934348",
      "y": "0.203286180"
    },
    {
      "rotated": false,
      "x": "0.661120507",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.726830280",
      "y": "0.132438216"
    },
    {
      "rotated": false,
      "x": "0.785618955",
      "y": "0.032468160"
    },
    {
      "rotated": false,
      "x": "0.857142846",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.935142300",
      "y": "0.000000000"
    }
  ],
  "scale": "0.050000000"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看

子题参数

{
  "n": 20
}

当前第一名的答案

{
  "placements": [
    {
      "rotated": false,
      "x": "0.066061786",
      "y": "0.556110357"
    },
    {
      "rotated": false,
      "x": "0.142303844",
      "y": "0.877652589"
    },
    {
      "rotated": false,
      "x": "0.017071340",
      "y": "0.015852740"
    },
    {
      "rotated": false,
      "x": "0.013976478",
      "y": "0.343226115"
    },
    {
      "rotated": false,
      "x": "0.449387893",
      "y": "0.152918174"
    },
    {
      "rotated": false,
      "x": "0.301181660",
      "y": "0.672932164"
    },
    {
      "rotated": false,
      "x": "0.068832913",
      "y": "0.631181159"
    },
    {
      "rotated": false,
      "x": "0.211407171",
      "y": "0.600000000"
    },
    {
      "rotated": false,
      "x": "0.199327894",
      "y": "0.029457248"
    },
    {
      "rotated": false,
      "x": "0.265667734",
      "y": "0.115157613"
    },
    {
      "rotated": false,
      "x": "0.442221551",
      "y": "0.441317085"
    },
    {
      "rotated": false,
      "x": "0.145487824",
      "y": "0.241126443"
    },
    {
      "rotated": false,
      "x": "0.520593182",
      "y": "0.340729123"
    },
    {
      "rotated": false,
      "x": "0.595188391",
      "y": "0.282682554"
    },
    {
      "rotated": false,
      "x": "0.371934348",
      "y": "0.203286180"
    },
    {
      "rotated": false,
      "x": "0.661120507",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.726830280",
      "y": "0.132438216"
    },
    {
      "rotated": false,
      "x": "0.785618955",
      "y": "0.032468160"
    },
    {
      "rotated": false,
      "x": "0.857142846",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.935142300",
      "y": "0.000000000"
    }
  ],
  "scale": "0.050000000"
}

按 1×i 顺序提交 placements;允许旋转 90°。 · 验证器 v1.0.0