模拟21

T1

打表找规律,emm,说一下当时怎么打的表吧。

样例给了很多,并且把\(n=3\)的情况都给出来了,所以试着打一下\(n=4\)的表。

不难想到最后答案和标号没有关系,只和当前每个人后边跟的人的个数有关系,所以把每个状态最大表示一下。

初始状态即为\(\{1,1,1,1\}\)设为\(S_0\),不难看出\(S_0\)只能引出一个状态,\(\{2,1,1,-1\}\),设为\(S_1\),为什么要这么做而不是直接搜索,一会就明白了。

\(f_i\)表示状态\(S_i\)的期望,那么我们有\(f_0=f_1+1\),考虑由\(S_1\)可以推出什么状态,有三种,\(\{2,1,1,-1\}\),二的人和某个一的人对决然后挂了,概率是选到一个二的人的概率和一个一的人的概率\(\frac{2}{3}\)乘上他失败的概率\(\frac{1}{2}\)\(\{3,1,-1,-1\}\),二的人赢了,概率为\(\frac{1}{3}\)\(\{2,2,-1,-1\}\),两个一的人对决,不管结果怎样,结局都是这个,两种状态分别设为\(S_2,S_3\),有一种状态已经设过了。

到了这里,应该就知道为什么不能搜索了,因为转移有环,故需要消一下元,列式子可以得到。

\[f_1=\frac{1}{3} f_1 \times \frac{1}{3} f_2 \times \frac{1}{3} f_3 + 1 \]

同样的,对于\(S_3\)继续推,发现\(S_3\)的后继状态只有\(S_2\),因为两个人的对决结果不论是什么都一样,所以有

\[f_3=f_2+1 \]

看似进行不下去了,但是还有一个状态\(S_2\),尝试以它为突破点,\(S_2\)的后继状态有两个,一是\(S_1\),还有一个是最终状态\(\{4,-1,-1,-1\}\),设为\(S_4\),显然有\(f_4=0\)

所以又得到一个式子,

\[f_2=\frac{1}{2} f_1 +1 \]

然后就能解出所有的未知量,然后就需要仔细找规律加上凑样例硬模拟。。。。

T2

随便\(DP\)一下

T3

考试结束之前除非对拍过了否则不要改代码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

T4

排序贪心,不难想到应该按照大小关系分成两类,然后分别排序就行了。

posted @ 2020-10-23 12:04  An_Fly  阅读(122)  评论(0编辑  收藏  举报