2021.10.14 模拟赛总结
T1
啊这。
显然,每一次最多能删掉n-1条边,实际上就是跑剩余边的最大生成树。
所以暴力就是模拟删边过程,得到每条边在第几次求最大生成树的时候被选中。
然而我们可以对每一条边进行考虑。当从大到小排序后,对于某一条边来说,一定是先判断能不能在第一次删,如果不能再判断能不能在第二次删,依次类推。可以发现这个判断具有单调性。
从大到小枚举每一条边,二分其被删掉的位置即可。
难度在黄~绿
T2
简单题。贪心即可。
发现一定要先让一行变黑,再用这一行去黑所有列。我们可以枚举这一行。
然后我们发现要让第x行变黑,那么需要在第x列中找到一个黑的来染这一行。操作次数即为第x行的白格数
如果这一列也没有就还需要从其它地方找一个黑的把第x列的某一个位置变黑,再通过这个位置让第x行全部变黑,操作次数即为第x行的白格数+1。
难度黄
T3
哈哈,根本看不懂吧
对于计算乘积\(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
题解思路和考场思路是差不多的。
在本题中,这里的按照dfs序排序其实就可以变为按照两个字符串的字典序大小来排序。
修改因为进位次数也是\(O(n)\)的,相当于主席树上\(O(n)\)个历史版本,每一次暴力加就可以了。
主要是主席树上的操作。
同时每一次插进去之后还得找前驱后继。题解使用了set维护主席树上每一个历史版本的大小顺序。
哈哈哈,你会写吗?
估计难度在紫~黑
本文来自博客园,作者:lei_yu,转载请注明原文链接:https://www.cnblogs.com/lytql/p/15406896.html