- 0
- 0
- 约小于1千字
- 约 8页
- 2026-02-27 发布于北京
- 举报
根据题意,是求一条路径到达公主的位置,是
路径问题,很容易想到二分答案然后求路径;
但是二分答案后,boss能监管的范围是圆形的,
在这个基础上建图是比较难的。
根据刚才的分析,很容易想到把每个单元格子分成
很多个小格子,二分答案后,就可以知道哪些格子
是可以经过而哪些是不能的;
那么可以假设英雄行走的方式是上下左右四个方向,
然后就是求一条到达公主的路径了;
这种算法,精度不够,时间慢,只能过20%的数据。
如果我们不是想着让英雄到达公主,而是让boss困住
英雄使到英雄不能在到达公主,就能得到一个更好的
算法了。
假设boss的最小视野范围s,能使到英雄不能拯救公
主,定义p是无限小的数字,s-p就是我们求的答案了,
所以s也就是我们求的答案。
有了这个结论就不难做了,困住英雄的方法只有4个(不包括直接
的):
我们可以把矩形的下边和左边作为起点,上边和右
边作为终点;
二分答案后,建边,求是否存在一条路径从起点到
达终点;
存在这样的路径就是能困住英雄。
时间复杂度n^2log,能过60%数据;
有了算法2,其实就不难想到算法3了;
算法2只是求是否存在路径,算法3就是求一条路径,
使到路径上的最长边最短,这就是答案;
L
S
L上的边的权值,存在一条边最优值S,也就是说
即使L上的boss能困住英雄,S所在路径上也是可以
困住英雄的。
所以我们可以直接求一条路径使到最长边最小;
时间复杂度n^2,能过100%数据;
有兴趣的同学可以想想英雄和公主不
在两个顶点的位置,而是在矩形内的
任意位置,欢迎大家和我交流:
479136304@
在这里衷心感谢大神们的鼎力支持!
原创力文档

文档评论(0)