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

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

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

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

严格定义

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

帮助理解

哪里有优化空间

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

前沿在哪里

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

查看来源
当前第一名

0.100000000

共同缩放

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

答案怎么写

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

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

当前第一名的答案

{
  "placements": [
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.191304348"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.473043458"
    },
    {
      "rotated": false,
      "x": "0.150988139",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.154940708",
      "y": "0.413913030"
    },
    {
      "rotated": false,
      "x": "0.317154119",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.470672011",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.605059362",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.727272720",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.851225315",
      "y": "0.000000000"
    }
  ],
  "scale": "0.100000000"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看

子题参数

{
  "n": 10
}

当前第一名的答案

{
  "placements": [
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.191304348"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.473043458"
    },
    {
      "rotated": false,
      "x": "0.150988139",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.154940708",
      "y": "0.413913030"
    },
    {
      "rotated": false,
      "x": "0.317154119",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.470672011",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.605059362",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.727272720",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.851225315",
      "y": "0.000000000"
    }
  ],
  "scale": "0.100000000"
}

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