- 感觉最近智商好低, 写的正解被自己送成了 分,然后一直推 根本没有检查 然后 的暴力也没有打,最后群上催着收卷草草交卷成功爆炸
- 在家里
也要讲究策略, 该打的暴力要打,该拍的题要拍
非常时期不能因为在家里考试就耍水偷懒!
题解:
-
T1:注意到如果确定一个中心点过后,我们可以通过双指针扫一遍来看有多少个孤立点,如果孤立点个数 那么这个中心点是合法的
首先判掉 的情况(无穷多个),那么现在中心点至少是某两个点的中点
那么我们可以 枚举 判断
考虑一些中点可以直接 掉, 那就是左倾和右倾的中点
我们规定除去孤立点外横坐标最小的点为 ,中间点为 ,除去孤立点外横坐标最大的点是 ,那么必须满足 左边的点和 右边的点个数 个
于是只有 个中间点,复杂度
-
T2:考场居然在推容斥,其实这道题容斥十分不好看,我们可以直接计算合法的方案数
那么显然有的 : 表示到第 排, 排保留的为 的点的概率,有转移
二维前缀和优化就可以得到 分,考虑继续优化,我们令
,
那么我们直接考虑 的转移,令 为 的前缀和, 为 的后缀和,合法的转移是一个矩阵的右上角,那么我们可以写出
那么需要维护 的前缀和, 的前缀和, 同理讨论即可
复杂度
-
T3:首先最后的生成树边一定都是两个生成树上的边,那么我们对二者都求一遍最小生成树
考虑当 很小时,最后的生成树全部是第一棵树上的边,随着 的增大将会有一些替换
那么我们可以令当前生成树为第一棵树,然后将第二棵树上的边按从小到大加入,那么当 足够大时,它将替换当前树上的链上最大的第一棵树的边,我们可以求出这个 的下届
按下届排序,二分就可以知道最后选了哪些边,链上最大, 用 解决
复杂度