将军饮马(轴对称求最值)
technique
利用轴对称把"两点到一直线上动点的距离之和"转化为两定点连线问题。
轴对称最短路径(将军饮马)——直线上动点的"等系数两段距离和"标准模型。用 关于 的对称点 把折线拍直成线段 。
通用公式
经典模型
- 动点 :在直线 上
- 定点 : 同侧的两定点
- 关键约束:两段权重都为 (带系数请走 胡不归(异速最值,sin 倾角法));异侧情形直接连 与 的交点即可,无需翻折(见下方"变式 / 推广")

何时用
- 一条直线(河 / 路 / 镜面)上有动点 ,要最小化 ( 是两定点)
- 一般化:动点和两段距离的和、或绕一组定点的"折线"长度
- 题面常含"将军饮马""光路""镜像反射""一条河取水后送到 B"
核心招法
同侧化异侧——把 关于 翻一下。 折线就拍直成 。

构造步骤
平面上直线 同侧两定点 , 动点:
-
作对称点:取 关于 的对称点 (即 是 的中垂线)。

-
换距离:对任意 有 ,故 。
-
拍直:由 [[triangle-inequality]],,等号当 三点共线时成立。
-
定位 : 即 与 的交点。最小值 。
为什么对
轴对称是一个保距等距变换(反射): 上任一点到 的距离 = 到 的距离。所以"动点 到 "这条不可控的距离,可以无损地换成"动点 到 "。换完之后两段都从 出发,自然适用三角形不等式 / 折线 直线段。
典型例题
- [[0001-shortest-path]] —— 将军饮马标准题
- 光从 出发经镜面 反射到 ,求最短光路(费马原理 = 将军饮马)
变式 / 推广

- 异侧情形: 在 异侧,直接连 与 的交点即最优——无需翻折。

- 两条直线 + 一个动点:一条 上动点 、 上动点 ,求 最小——把 关于 翻、 关于 翻,再连直线。
- 一条直线 + 多个动点:连续翻折"展开"路径成一条直线段。
- 加权变体:当 (系数不等)时,反射不再适用,转 胡不归(异速最值,sin 倾角法) / 加权费马点(旋转 + 缩放通法)。