2021.10.14 模拟赛总结

T1

啊这。

显然,每一次最多能删掉n-1条边,实际上就是跑剩余边的最大生成树

所以暴力就是模拟删边过程,得到每条边在第几次求最大生成树的时候被选中。

然而我们可以对每一条边进行考虑。当从大到小排序后,对于某一条边来说,一定是先判断能不能在第一次删,如果不能再判断能不能在第二次删,依次类推。可以发现这个判断具有单调性。

从大到小枚举每一条边,二分其被删掉的位置即可。

难度在黄~绿


T2

简单题。贪心即可。

发现一定要先让一行变黑,再用这一行去黑所有列。我们可以枚举这一行。

然后我们发现要让第x行变黑,那么需要在第x列中找到一个黑的来染这一行。操作次数即为第x行的白格数

如果这一列也没有就还需要从其它地方找一个黑的把第x列的某一个位置变黑,再通过这个位置让第x行全部变黑,操作次数即为第x行的白格数+1。

难度黄


T3

image

哈哈,根本看不懂吧

对于计算乘积\(n^m\)的方案,我们可以把\(n\)质因数分解为\(a_1^{p_1}a_2^{p^2}...a_n^{p_n}\)对于一个\(a^p\),相当于把\(pm\)\(a\)分配到\(2m\)个位置上,这样以后这个位置再乘上一些其它的质因子就可以得到一种方案。

所以说是独立的咯(我想了半个小时!)

于是这就是一个经典的球盒问题了!有空盒、盒子不同、球相同。那不就是插板法吗。。。\(C_{n+m-1}^{m-1}\)

“这不就是小学奥数吗?”

——— XXX

https://www.cnblogs.com/Paranoid5/p/15112393.html

嗯。。。好像不对。因为这里每个位置还最多只能放p个数。。。

\(about\ 30minutes\ later\)

所以这真的是一个背包问题。。。。。(草)


我们把每一个位置看作一个物品,然后这个物品最多用p个,问选pm个物品有多少种选法。

这就是一个裸的多重背包问题。那么复杂度?

考虑极端复杂度:\(2^{64}\)

容量和物品最多有大约都为\(64*100=6400\)个,可以通过本题。

我趣,我又做了两个小时才淦出这个题。

估计难度在蓝~紫左右


T4

题解思路和考场思路是差不多的。

image

在本题中,这里的按照dfs序排序其实就可以变为按照两个字符串的字典序大小来排序。

修改因为进位次数也是\(O(n)\)的,相当于主席树上\(O(n)\)个历史版本,每一次暴力加就可以了。

主要是主席树上的操作。

同时每一次插进去之后还得找前驱后继。题解使用了set维护主席树上每一个历史版本的大小顺序。

哈哈哈,你会写吗?

估计难度在紫~黑

posted @ 2021-10-14 15:25  lei_yu  阅读(7)  评论(0编辑  收藏  举报