P76 · 极值构型 · 经典问题 · 难

用 n 个正三角形覆盖正方形 · n = 6

用 n 个全等正三角形覆盖单位正方形。每块都可以独立平移、旋转和翻转;允许任意重叠和伸出正方形,使共同边长尽可能小。

子题n = 6
目标最小化 共同边长
已知最好(未证明)(107√3 + 85) / 382文献换算值 0.707668681701230本站展示证书 0.707811412Maurizio Morandi 在 Friedman 的公开表中给出该构型(April 2009);把单位边长三角形的最大正方形倒数换算后,公共边长为 (107√3 + 85) / 382 ≈ 0.707668681701230,最优性未证明。本站从原图复原的九位证书可验证到 0.707811412,两者差距明确保留。提交只收小数,所以纪录追的是这个可写值;如果你认为自己求出了理论最优的闭式,欢迎邮件投稿。 minmaxarena.com@gmail.com

严格定义

  • 容器闭单位正方形 K = [0,1] × [0,1]
  • 覆盖物n 个共同边长为 s 的正三角形;每块可以独立平移、任意旋转,并选择第三个顶点位于基准边的哪一侧
  • 提交给出共同边长 s,以及每块正三角形的一条基准边中点、旋转和朝向;恰好提交 n 块
  • 覆盖正方形的每一点至少落在一个闭三角形内;三角形可以重叠,也可以伸出容器KT1Tn
  • 精确旋转证书用 turn = tan(θ/2) 表示旋转。半角公式令 cos θ 与 sin θ 都是有理数,因此所有顶点和交点都能在 Q(√3) 中精确计算
  • 连续验证验证器枚举三角形边与正方形边形成的平面线段排列,并以代数数竖直扫描严格检查是否存在空洞;不依赖像素或随机采样
  • 分数提交中所有三角形共享的边长 s,越小越好s(T)=s
  • 目标在全部合法覆盖中最小化 sminTs(T)
放大来摆,然后提交
已验证构造共同边长 0.707811412

帮助理解

为什么不是铺砖

正方形角是 90°,正三角形角是 60°;边界角度不兼容,最好的覆盖必须让三角形彼此重叠并伸出四条边。增加一块时,整套接触关系可能重排,而不是简单再接一块。

公开前沿

Friedman 的公开表给出 n = 1–12 的最好已知构型;n = 2 起已经出现非平凡布局,n ≥ 4 还会使用彼此不同的旋转角。本站按图复原构型并用自己的连续覆盖验证器重新验收,而不是只抄数值。

查看来源
用 n 个正三角形覆盖正方形 n = 6 的当前纪录构型,0.707811412
当前第一名

0.707811412

共同边长

答案来源Maurizio Morandi
解题方式公开参考构造
挑战这个纪录
ANSWER FORMAT

答案怎么写

容器是单位正方形 [0,1]²。每个覆盖三角形可以伸出容器;坐标 (x,y) 标记它的一条边的中点。

提交 side 和 triangles。每块写 {x,y,turn,down}:(x,y) 是一条边的中点;turn = tan(θ/2) 编码这条边的旋转角 θ;down 选择第三个顶点位于哪一侧。页面编辑器会自动填写 turn。所有小数最多九位。

当前第一名的答案

{
  "side": "0.707811412",
  "triangles": [
    {
      "down": false,
      "turn": "0",
      "x": "0.863222275",
      "y": "0"
    },
    {
      "down": false,
      "turn": "0",
      "x": "0.136229269",
      "y": "0"
    },
    {
      "down": false,
      "turn": "1",
      "x": "1",
      "y": "0.729979893"
    },
    {
      "down": true,
      "turn": "1",
      "x": "0",
      "y": "0.730913891"
    },
    {
      "down": true,
      "turn": "0",
      "x": "0.500800803",
      "y": "1"
    },
    {
      "down": true,
      "turn": "0",
      "x": "0.499722410",
      "y": "0.596363582"
    }
  ]
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看

子题参数

{
  "n": 6
}

当前第一名的答案

{
  "side": "0.707811412",
  "triangles": [
    {
      "down": false,
      "turn": "0",
      "x": "0.863222275",
      "y": "0"
    },
    {
      "down": false,
      "turn": "0",
      "x": "0.136229269",
      "y": "0"
    },
    {
      "down": false,
      "turn": "1",
      "x": "1",
      "y": "0.729979893"
    },
    {
      "down": true,
      "turn": "1",
      "x": "0",
      "y": "0.730913891"
    },
    {
      "down": true,
      "turn": "0",
      "x": "0.500800803",
      "y": "1"
    },
    {
      "down": true,
      "turn": "0",
      "x": "0.499722410",
      "y": "0.596363582"
    }
  ]
}

提交 side 和 triangles。每块写 {x,y,turn,down}:(x,y) 是一条边的中点;turn = tan(θ/2) 编码这条边的旋转角 θ;down 选择第三个顶点位于哪一侧。页面编辑器会自动填写 turn。所有小数最多九位。 · 验证器 v1.0.0

DISCUSSION

讨论区

聊思路、贴方法、问为什么卡住。发帖即公开署名,与纪录同一个名字;署名后的 #编号是账号的注册序号,冒不了名。发言资格与实绩绑定:破过一次纪录,就永久拥有发言权。新发言经自动审核后公开。

还没有帖子。第一个聊聊这道题的思路?