模拟2

Day1

T1

考虑怎么计算一个长为 len 的序列 a 的 Gobo sort 的期望次数。令 (b_i) 表示 a 中 i 出现的次数

那么期望次数为(E = len!prodlimits_{i} b_i)

考虑30分,可以直接暴力递归求解,每次取最小值就好了

freopen写错了,可能还有一些奇奇怪怪的地方写错了吧,改的时候又想到了一些问题不过样例没卡

T2

有一些人没有人可以感染他,我们称作是关键点,不难想象当最后一个关键节点被感染,游戏结束

在 n 个数字的所有排列中,有 m 个关键的数字,计算所有关键点最后一个出现的位置的期望

此时([pos+1,len])没有关键点,而最后一个关键点的选取又有m种,所以最后的答案为:

(Cegin{pmatrix}len-pos\len-mend{pmatrix} imes (len-pos)! imes (pos-1)! imes m)

T3

这样可以区间 DP,设 (dp_{1,n}) 表示 [1,n] 自给自足的答案是多少。那么 n 一定要放,照不到的做成区间 ([l_i ,r_i ]) 以后,每个区间的答案是 (min(dp_{l_i ,r_i} ,dp_{l_i ,r_i +1} ))。分别表示选取 i − 1和 i 的情况。

这样复杂度 (O(n^3 ))。不难发现如果区间 DP 的时候固定右端点,左端点从右往左扫过去,复杂度可以优化到(O(n^2 ))

Day2

T1

pufer数列(应该是叫这个名字):对应唯一的一棵无根树,数列中每个数出现的次数=度数-1

得出dp[i][j][k] 前i个点,选了j个点,pufer数列中填了k个数的方案数

dp[i+1][j][k] += dp[i][j][k];(不选当前点)

dp[i+1][j+1][k+w] += dp[i][j][k]*C(k+w,w);(选当前点,且当前点出现了w次)

题面不给模数啊,太坑了

T2

算博弈吧,但是给的树形dp,标算给的也比较奇怪,我写了一个假的博弈好像,得了20分

T3

dp+记忆化,不知道算不算数位dp,打算写写看,如果写出来了就补题解

Day3

T1

扩展汉诺塔,n个盘子,m个柱子的情况

先来回想三个柱子的情况:f[i]表示i个盘子的最小步数 f[i] = 2*f[i-1]+1

可以看成是把i-1个盘子移到2上,把最大的盘子移到目标柱子,然后再把i-1个盘子移到目标柱子

再来扩展到m个柱子:f[i][j]表示i个盘子,j个柱子的最小步数 f[i][j] = min(f[i-k][j]*2+f[k][j-1])

可以看成是把i-k个盘子在移到j个盘子中的一个,这时剩下j-1个盘子,然后把剩下的k个盘子移到目标柱子,最后把i-k个盘子移到目标柱子

T2

构造,贪心

T3

期望带回头,两个数组:f[x]表示从x走到fa[x]的期望边数,g[x]表示从fa[x]走到x的期望边数

通过各种枚举边的情况,可以得出一个两个式子

f[x] = (sumlimits_v) f[v] + deg g[to] = f[x]+g[x]-f[to]

然后可以树上路径和就好啦

Day4

又是一天的Day4

T1

仔细思考一下不难发现答案很小,并且举不出 > 2的例子,很简陋不严谨

首先如果 s 不是回文串答案为 1。

考虑对于 1<=i<n,是否都满足 s[1..i]和 s[i+1..n]至少有一个是回文的。如果不满足那么答案为 2。

如果满足的话,如果 s[1]=s[2],那么 s 只会形如 aaaaa或 aaabaaa;如果 s[1]!=s[2],那么 s 只会形如 abababa。这三种情况都是无解的。

T2

把每个状态都算一遍然后取所有情况中最大的,正解最小割,连边属实想不到

T3

博弈问题,单个问题应该都是很好解决的吧,只是要把每个问题都计一遍数……

不妨假设 a<b。

每堆石子先对 a+b 取模,然后可以分为 4 种:

(1) xi<a,没用。

(2) a<=xi<b,只要存在则 a 必胜。

(3) b<=xi<2a,只和奇偶性有关。

(4) 2a<=xi,存在至少 2 个则 a 必胜,存在 1 个且(3)为偶数则先手必胜,存在 1 个且(3)为奇数则 a 必胜,不存在且(3)为奇数则先手必胜,不存在且(3)为偶数则后手必胜。

Day5

T1

刚开始看还以为是某个数据结构维护的题,但是后来才发现是搜索!

启发式迭代加深搜索+估价函数剪枝

T2

T2看到有向图可能有环就想到了Tarjan缩点

1、由于最长链上的点两两不能同时轰炸,因此最优解>=最长链长度。

2、令 fi 表示从 i 出发的最长链长度,那么在第 fi 轮轰炸 i,可以得到一个恰好为最长链长度的方案,因此最优解<=最长链长度。

容易发现将一个大小为 x 的强连通分量替换成一个长度为 x 的链,所有点两两之间的连通关系不变。

T3

AC自动机+dp,看到n <= 6,可以状压,反对称就可以先考虑一半,不过好像有一点细节,我不太会写,尝试再看一看吧

原文地址:https://www.cnblogs.com/little-uu/p/14831281.html