20210604 模拟赛
Posted Suzt_ilymtics
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20210604 模拟赛相关的知识,希望对你有一定的参考价值。
写在前面
期望得分: \\(100 + 0 \\sim 100 + 40 \\sim 100 = 140 \\sim 300 pts\\)
实际得分: \\(100 + 100 + 0 = 200pts\\)
考前某二区教练和我们说:
我和三区教练给你们 出了 套题你们做一做昂
结果是 HN 某中学某学生的模拟赛题
评价:
板子题+结论题+板子套板子题
思维难度不是很大(除了T2),许多算法很一眼。
已经把题目搬到 LG 了,大家快去秒掉吧!
caq AK Orz!
正文
T1
矩阵加速板子
T2
把物理老师当做 \\(1\\),生物老师当做 \\(0\\)。
不考虑同类老师之间的排列,设 \\(f_{i,j}\\) 表示 \\(i\\) 个物理老师 \\(j\\) 个生物老师的合法排列方案。
不难推出转移方程:(都是在合法情况下)
然后再乘上老师们的排列方案,得到答案为:
这样明显算不出来,考虑实际意义。
转移方程和过河卒很像,加上那个限制,发现和这个题一样
直接套用它的结论快速得到 \\(f_{i,j}\\),代回原式,发现可以化简。
于是得到最终结果 \\(\\frac{n-m+1}{n+m}\\)
T3
无向图缩点板子。
缩点后是一棵树。
\\(O(n^2 \\log^2 n)\\) : 树剖暴力求两点之间的距离,本来考虑树形 DP + 换根,最后没来得及。
\\(O(n^2 \\log n)\\):跑 \\(n\\) 遍 Dij
\\(O(n^2)\\):跑 \\(n\\) 遍 dfs
\\(O(n)\\):
距离每个点最远的距离,是以它为根时到达所有点的最大深度。
考虑树的直径,以每一个点为根时它的最大深度的点一定在树的直径两端。
因为树的直径的第一步就是这样求的。
然后对两个端点跑两遍 dfs,对于每个点,取到两个端点的距离的最大值即可。
以上是关于20210604 模拟赛的主要内容,如果未能解决你的问题,请参考以下文章