「考试」省选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}
\]