您的位置:首页 > 其它

【集训队模拟 2013】Run

2015-07-14 18:08 190 查看

题目大意

求一个游戏的字典序最小的必胜方案。

给出对手每一步操作。(之所以放在上一句话后面是为了与必胜方案相区分因为他们毫无关系,给出对手的操作仅仅是为了确定某一种必胜态罢了。)

分析

不妨判断每一步是否可以为字典序较小的一种操作。具体判断方案实际上是跑一棵决策树,andand层和oror层交替,看这个是否为必胜态,可是直接会超时,加上随机化搜索顺序,期望时间复杂度算法如下。

我们来考虑这种随机情况下的复杂度,t(d)t(d)为dd层的树,根节点为11 时的复杂度,f(d)f(d) 为d d 层的树,根节点为0 0 时的复杂度,那么

f(d)=2∗t(d−1)f(d) = 2 ∗ t(d − 1)

t(d)=f(d−1)+t(d−1)∗13t(d) = f(d − 1) + t(d − 1) ∗\frac{1}{3}

可见这样在 d = 2n = 28 的情况下复杂度非常低,因此我们只要对于搜索中判断节点的先后进行随机化就能够解决掉这道题了。

反正我是没看懂,跑得飞快就是了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: