1 条题解
-
1
蓝书上讲的「运动规划」。
容易发现只有起点、终点、切点可能走,其中切点可能是起点或终点到圆的切点,也可能是两圆之间公切线的切点。
我们把这些点拎出来,然后把圆上路径连一连,圆间路径判一判连一连,最后跑个最短路就好了。
两个圆可能有 条公切线,随便推一下柿子就好了。
点数是 的,边数也是 的。
注意起点直接通向终点的情况。
判断一条线段是否和圆有交是容易的;由于判断时端点均在圆上 / 外,直接找出垂足看是否在线段上且在圆内即可。
注意
acos(x)
在x
略大于 或略小于 (可能来自浮点误差)时会返回nan
。参考代码。
- 1
信息
- ID
- 4739
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 0
- 上传者