这种题根本做不出来……
考虑一个 L
形怎么方便地表示出来。可以发现对于组成 L
形的三个点 \((x_1,y_1),(x_2,y_2),(x_3,y_3)\),只要知道 \(x = x_1 + x_2 + x_3\) 和 \(y = y_1 + y_2 + y_3\),就能确定三个坐标。证明是设折点坐标为 \((p,q)\),则其余两个点的坐标可以用 \((p+u,q),(p,q+v)\) 表示,其中 \(u,v \in \{-1,1\}\)。那么 \(x = 3p + u, y = 3q + v\),\(p\) 可以通过 \(\frac{x}{3}\) 四舍五入得出,\(q\) 同理。
那么答案就是把坐标和从 \((1,1)\) 变成 \((ax + bx + cx, ay + by + cy)\) 的最小步数。考虑把 \((1,1)\) 到达小范围内的点的最小步数打个表:
7, , 6, 6, , 6, 6, , 6, 6, , 6, 6, , 6, 6, , 6, 6, , 7,
, , , , , , , , , , , , , , , , , , , , ,
7, , 6, 5, , 5, 5, , 5, 5, , 5, 5, , 5, 5, , 5, 6, , 6,
7, , 6, 5, , 4, 4, , 4, 4, , 4, 4, , 4, 4, , 5, 5, , 6,
, , , , , , , , , , , , , , , , , , , , ,
7, , 6, 5, , 4, 3, , 3, 3, , 3, 3, , 3, 4, , 4, 5, , 6,
7, , 6, 5, , 4, 3, , 2, 2, , 2, 2, , 3, 3, , 4, 5, , 6,
, , , , , , , , , , , , , , , , , , , , ,
7, , 6, 5, , 4, 3, , 2, 1, , 1, 1, , 2, 3, , 4, 5, , 6,
7, , 6, 5, , 4, 3, , 2, 1, , 0, 1, , 2, 3, , 4, 5, , 6,
, , , , , , , , , , , , , , , , , , , , ,
7, , 6, 5, , 4, 3, , 2, 2, , 1, 1, , 2, 3, , 4, 5, , 6,
7, , 6, 5, , 4, 3, , 3, 2, , 2, 2, , 2, 3, , 4, 5, , 6,
, , , , , , , , , , , , , , , , , , , , ,
7, , 6, 5, , 4, 4, , 3, 3, , 3, 3, , 3, 3, , 4, 5, , 6,
7, , 6, 5, , 5, 4, , 4, 4, , 4, 4, , 4, 4, , 4, 5, , 6,
, , , , , , , , , , , , , , , , , , , , ,
7, , 6, 6, , 5, 5, , 5, 5, , 5, 5, , 5, 5, , 5, 5, , 6,
7, , 7, 6, , 6, 6, , 6, 6, , 6, 6, , 6, 6, , 6, 6, , 6,
, , , , , , , , , , , , , , , , , , , , ,
8, , 7, 7, , 7, 7, , 7, 7, , 7, 7, , 7, 7, , 7, 7, , 7,
中间的 0
是 \((1,1)\),空白点表示这个点不存在。
发现空白点把其他点划分成了 \(2 \times 2\) 的块,并且相邻块的边界点可以互相到达,块内的点也可以互达。
考虑删除空白的行列,然后把 0
点看作 \((0,0)\)。此时相当于若位于 \((x,y)\),令 \(u = (-1)^{1 - x \bmod 2}, v = (-1)^{1 - y \bmod 2}\),则 \((x,y)\) 可一步到达除 \((x + u, y + v)\) 外的七个方向的任一点。如果能走八个方向,答案就是 \(\max(|x|,|y|)\);加了限制后发现主对角线的点有一些特殊,例如 \((-1,-1)\),想到达它必须得先向左再向下,多走一步。那么答案就是 \(\max(|x|,|y|) + [x=y]\)。特判 \((x,y) = (0,0)\) 或 \((1,1)\) 的情况。
- AtCoder Regular Contest 109atcoder regular contest 109 atcoder regular contest 165 minimization atcoder regular contest atcoder regular contest 166 atcoder regular contest 167 atcoder regular contest sliding atcoder regular contest degree atcoder regular contest 164 atcoder regular contest builder subsegments atcoder regular contest