MOCK PTS 20220107 日志
……
简略题解
A – 小矩阵
高维莫队。如果认为 同级,复杂度 ,实际上由于 远小于理论块间移动次数,不能卡满,实测耗时比上式低一个数量级。
蒲韦坤说将询问 std::shuffle ()
一下移动指针即可通过,速度与莫队相当。
B – 多边形
– 无禁用交点
我们发现,除开可能存在的直线 ,对于一条固定的直线,其与其他所有直线的交点中,能够出现在凸包上的只可能有两个:横坐标最大/最小的两个(纵坐标最大最小等价)。
考虑求取直线 的上述两个点。观察到与直线 的交点横坐标为 ,如果我们设点 ,这其实就是求取过 的直线的斜率的相反数。于是我们将 条(或者 条)直线转化为相应的点,求出过它们中每一个的直线的最大/最小斜率(在左上/左下/右上/右下方,分别执行类似斜率优化般逐个将点插入凸包的算法)即可。
如果存在直线 ,我们暴力 求它与其他直线的交。最后将得到的 个点求二维凸包即是答案。
正解
由于禁用的交点极少( 个),故而我们将受到波及的至多 条不同直线全部重新暴力求取与别的直线的交点,再取合法的最大/最小横坐标。复杂度 。
C – 大乱炖
没人讲也没人会,猜测与多项式与生成函数相关。
现在有人讲C了,快来看我的博客园 https://www.cnblogs.com/cwhfy/p/17113756.html
何神好闪,拜谢何神。