4.29 模拟赛

Posted rzh123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.29 模拟赛相关的知识,希望对你有一定的参考价值。

A 良数

先全填 1,然后暴力搜索每一位改成什么。

可以发现答案中修改的位数都比较少,可以直接 dfs。

记忆化不需要存各个数字的顺序和次数,只和当前修改的位数和当前的和有关。

B 良点

先拓扑排序只留下环,剩余点中度数最大且编号最小的可能是答案。

如果拓扑完没有环或者去掉这个点后还有环就无解。

否则答案是这个点。

C 移动格子问题

不是网络流。

dp,

20210604 模拟赛

写在前面

期望得分: \\(100 + 0 \\sim 100 + 40 \\sim 100 = 140 \\sim 300 pts\\)
实际得分: \\(100 + 100 + 0 = 200pts\\)

考前某二区教练和我们说:

我和三区教练给你们 出了 套题你们做一做昂

结果是 HN 某中学某学生的模拟赛题

评价:

板子题+结论题+板子套板子题
思维难度不是很大(除了T2),许多算法很一眼。

已经把题目搬到 LG 了,大家快去秒掉吧!

T1传送
T2传送
T3传送

caq AK Orz!

正文

T1

矩阵加速板子

T2

把物理老师当做 \\(1\\),生物老师当做 \\(0\\)

不考虑同类老师之间的排列,设 \\(f_{i,j}\\) 表示 \\(i\\) 个物理老师 \\(j\\) 个生物老师的合法排列方案。

不难推出转移方程:(都是在合法情况下)

\\[f_{i,j} = f_{i-1,j} + f_{i,j-1} \\]

然后再乘上老师们的排列方案,得到答案为:

\\[\\frac{f_{n,m} \\times n! \\times m!}{(n+m)!} \\]

这样明显算不出来,考虑实际意义。

转移方程和过河卒很像,加上那个限制,发现和这个题一样

\\[C_{n+m}^m - C_{n+m}^{m-1} \\]

直接套用它的结论快速得到 \\(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,对于每个点,取到两个端点的距离的最大值即可。

以上是关于4.29 模拟赛的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 4.29

4.29学习笔记-cookie的使用

4.29 数组的索引和排序

4.29--4.30 图论

Colab 提供 OOM 用于在 tensorflow 中在 GPU 上分配 4.29 GB 张量

上周热点回顾(4.23-4.29)