[BZOJ1415/Luogu4206][NOI2005]聪聪和可可(动态规划,期望概率,记忆化搜索)

发布于 2018-04-08  6 次阅读


本文章由SYCstudio或本站其它作者所有,严禁转载,转载必究

本文链接地址:[BZOJ1415/Luogu4206][NOI2005]聪聪和可可(动态规划,期望概率,记忆化搜索)

Description

在一个魔法森林里,住着一只聪明的小猫聪聪和一只可爱的小老鼠可可。虽 然灰姑娘非常喜欢她们俩,但是,聪聪终究是一只猫,而可可终究是一只老鼠, 同样不变的是,聪聪成天想着要吃掉可可。
一天,聪聪意外得到了一台非常有用的机器,据说是叫 GPS,对可可能准确 的定位。有了这台机器,聪聪要吃可可就易如反掌了。于是,聪聪准备马上出发, 去找可可。而可怜的可可还不知道大难即将临头,仍在森林里无忧无虑的玩耍。 小兔子乖乖听到这件事,马上向灰姑娘报告。灰姑娘决定尽快阻止聪聪,拯救可 可,可她不知道还有没有足够的时间。
整个森林可以认为是一个无向图,图中有 N 个美丽的景点,景点从 1 至 N 编号。小动物们都只在景点休息、玩耍。在景点之间有一些路连接。
当聪聪得到 GPS 时,可可正在景点 M(M≤N)处。以后的每个时间单位,可可 都会选择去相邻的景点(可能有多个)中的一个或停留在原景点不动。而去这些地 方所发生的概率是相等的。假设有 P 个景点与景点 M 相邻,它们分别是景点 R、 景点 S,……景点 Q,在时刻 T 可可处在景点 M,则在(T+1)时刻,可可有 1/(1 +P) 的可能在景点 R,有 1/(1 +P) 的可能在景点 S,……,有 1/(1 +P) 的可能在景点 Q,还 有1/(1 +P)的可能停在景点 M。
我们知道,聪聪是很聪明的,所以,当她在景点 C 时,她会选一个更靠近 可可的景点,如果这样的景点有多个,她会选一个标号最小的景点。由于聪聪太 想吃掉可可了,如果走完第一步以后仍然没吃到可可,她还可以在本段时间内再 向可可走近一步。
在每个时间单位,假设聪聪先走,可可后走。在某一时刻,若聪聪和可可位 于同一个景点,则可怜的可可就被吃掉了。
灰姑娘想知道,平均情况下,聪聪几步就可能吃到可可。而你需要帮助灰姑 娘尽快的找到答案。

Tag

动态规划,期望概率,记忆化搜索

解决思路

由于猫一定是向着最靠近鼠的方向移动,并且鼠移动一次时猫可以移动两次,所以猫一定是可以抓到鼠的。
设F[i][j]表示鼠在点i猫在点j猫还没有行动时猫抓到老鼠的期望。那么由于鼠当前的位置已经确定,所以猫可以直接向着最靠近鼠的位置前进两步。
这个可以预处理出来的,设Path[i][j]为鼠在i猫在j时,猫下一步走到的点的编号,这个可以把鼠放在每一个点上,以这个点为中心bfs求最短路。
接着考虑F[i][j],那么若猫在j可以经过不超过两步到达i,则F[i][j]=1,否则,扫描i的每一条出边进行等概率转移,最后还要加上鼠不动的期望。
由于转移顺序不好确定,可以采用记忆化搜索的方式实现动态规划。

代码

本文章由SYCstudio或本站其它作者所有,严禁转载,转载必究

本文链接地址:[BZOJ1415/Luogu4206][NOI2005]聪聪和可可(动态规划,期望概率,记忆化搜索)


HNCJ OIer 一枚