「考试」省选18

T2炸了。

T1
原题。
考虑建成\(trie\)
然后再每个\(Trie\)节点挂一个结尾链。
然后依次加入并且使得\(Trie\)的父子之间连边即可。

T2
\(MIM\)的题。
设:\(S[i][S]\)为从1出发,到达\(i\),不经过重复节点,经过的结点集合为\(S\)的全部路径方案。
然后直接用\(MIM\)合并即可。

T3
60分的暴力很好写。
考虑正解。
首先二分答案。
考虑\(check\)
对于每一个位置设\(dp[i][j][k]\)为第\(i\)个点的子树中i进入时花费为\(j\),出去时花费为\(k\)是否存在。
空间不允许。
直接开成二元组。
然后两个儿子排序之后用单调指针合并。
最终任何一个节点的大小不会超过所有叶子节点的个数乘2.
这样直接判断根节点是否存在子树即可。

T4
期望题。
首先从0开始编号,方便取模。

\[dp[i][j]$$表示剩下$i$个人,最后一枪打在$j$身上,0号存活的概率的期望。 $$dp[1][0]=1$$,$dp[n][(k-1)%n]$是答案。 考虑如何$dp$,枚举被打的这个人是否死亡。 $$dp[i][j]=\begin{cases}&\frac{1}{2}(dp[i-1][j+k-1\ mod\ (i-1)]+dp[i][j+k\ mod\ i])&j>0\\&\frac{1}{2}dp[i][j+k\ mod\ i]&j=0\end{cases}\]

因为0号不能死。
然后发现这个转移是个图。
缩点之后变成了\(DAG\)
然后 对于若干个环内进行高斯消元的话再进行拓扑图\(dp\)即可。
这样复杂度最劣是\(O(n^4)\)的。
考虑这个图中只含有简单环(\(n\)个点\(n\)条边的环)。
这种情况是可以直接系数递推的。
但是由于转移实在是太过简单我就直接给展开了。
观察\(dp\)转移。
我们发现转移成环一定是同层转移。
设转移的环的点个数为\(a\),那么:\(ak=lcm(i,k)\)
也就是说:

\[a=\frac{i}{gcd(i,k)} \]

同时注意到环不相交,所以环的个数:

\[t=\frac{i}{\frac{i}{gcd(i,k)}}=gcd(i,k) \]

对于每个环分别系数递推即可。
然后写一下直接展开的式子:

\[dp[i][j]=\frac{dp[i][j]}{2^a}+\sum\limits_{l=1}^{a}\frac{dp[i-1][j+lk-1\ mod\ (i-1)]}{2^l} \]

消项得到:

\[dp[i][j]=\frac{2^a}{2^a-1}\sum\limits_{l=1}^{a}\frac{dp[i-1][j+lk-1\ mod\ (i-1)]}{2^l} \]

posted @ 2020-02-05 09:45  Lrefrain  阅读(95)  评论(0编辑  收藏  举报