20210602模拟赛总结
作者:互联网
狂粉司公子!
T1
拓展的汉诺塔问题。
先取下来i个盘子,利用j个柱子放到另一个柱子上,最少的步数记为 \(f[i][j]\) 。随后将剩下 \(n-i\) 个盘子利用 \(j-1\) 个盘子挪过去,步数为 \(f[n-i][j-1]\) ,然后再用 \(f[i][j]\) 步把刚开始的那 i 个盘子挪上去。
可以得到 \(f[n][m] = \min(2f[i][m] + f[n-i][m-1])\)
T2
显然最小的后缀一定是 'a' 开头。看它与后面的那个同去掉首字母的大小,判断是否需要往下换字母即可,正确性不太清楚。
T3
考虑设 f[u] 为从 u 走到 fa[u] 的期望步数,可以得到 \(f[u] = deg + \sum f[v]\) 。
设 g[u] 为从 fa[u] 走到 u 的期望步数,可以得到 \(g[v] = \sum\limits_{v \neq V}f[V] + g[u] + deg = f[u] + g[u] - f[v]\)
然后树上前缀和简单处理一下就好了。
标签:总结,柱子,sum,步数,fa,盘子,20210602,模拟,deg 来源: https://www.cnblogs.com/nao-nao/p/14840920.html