码迷,mamicode.com
首页 > 其他好文 > 详细

游戏 抽象图论

时间:2019-09-05 18:12:53      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:个人   font   状态   导致   没有   a*   拆点   处理   算法   

  我个人认为抽象图论挺帅的,一旦将问题抽象成点,跑图论算法就可以了。

  我被抽象图论坑过很多回,这种题都是考试&&刷题好题,千万不能浪费。我记着有传送门,流水,棋子这几道抽象图论。

  下次要是再看不出来是图论就要开个抽象图论总结了。。

  这题我是一点思路都没有。

  我们从分析状态入手吧。

  问题在于,一个点只有一种状态么。这一点我在考场上想都没想,直接按一个考虑的。

  然后我就不会怎么让由岐过来再让lilulu过来。来更新答案。

  这样考虑会很复杂。

  我们从每个点的状态考虑,如果点真的是点,那么确实只有一种状态,

  但(x,y)并不是点,它是是由岐的位置。

  那么就有两种状态,一种由岐在空中经过,一种在地上经过。

  还有点到点的距离,比如要扔过去,一定要考虑拆开看贡献,不然直接就是n^2的无论空间还是时间。

  比如说:a*L+b,应该说,看成往下走L个a步+b。

  那么保证每个点只向旁边建边。

  然后发现这样上下左右四个点都建可能会拐弯,那么就可以继续分裂状态来限制转移。

  还有一个问题,停下来的时候怎么让利露露跑过来?

  直接处理出每个点到利露露的最近距离就行了。

  这应用到了:每个利露露只会经过一次,那么我在飞的时候其它每个点最近的距离不会变。

  这样保证图论的图不变。

  于是方法就出来了。不再赘述。

  本题的难点仍然在于考虑建图。

  抽象图论多做做吧。

  想的时候许多认为不对的东西再花一秒问一下是不是不对。

  好多性质在我第一眼看到题目的时候就被我认为是错的,然后就再也没想过它。导致想不到正解。

  然后记着多思索,学长说网络流难看出来,因为网络流就是抽象图论。

  二分图,网络流,拆点都算抽象图论。

游戏 抽象图论

标签:个人   font   状态   导致   没有   a*   拆点   处理   算法   

原文地址:https://www.cnblogs.com/starsing/p/11468560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!