模拟测试56

Posted hz-rockstar

tags:

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

T1:

  对于同一种选取方案,在时间上是单调的。

  如果单调下降,那么该方案的最优点在0,反之可以二分位置。

  现在我们需要求得在某个时间上的前m小值,用nth_element即可。

  时间复杂度$O(nlog\max(ans))$。

T2:

  每条路径的意义就是两端的点权之和。

  我们可以折叠所有点到根节点的路径,用$x_1$表示所有点的权值。

  询问时,直接解出方程,判断是否有解或是否有无限个解。

  根据折叠方程的特点,我们需要按深度分奇偶维护到根的边权和,可以用书状数组。

  修改时直接子数加即可。

  时间复杂度$O(nlogn)$。

T3:

  先枚举右端点,在从右向左枚举左端点,同时用树状数组维护纵坐标的个数和前缀和。

  两端上的点将纵坐标分成了许多区间,暴力枚举上边界所在区间,然后可以在左右端点上lower_bound求出下边界的上界区间。

  然后通过区间内的点数及前缀和计算出贡献即可。

  由于每个点都被计算不超过n次,所以整个算法的复杂度为$O(nmlogm)$。

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

csp-s模拟测试56Merchant, Equation,Rectangle题解

[考试反思]1002csp-s模拟测试56:凌乱

通过模拟服务进行弹簧控制器测试

使用 Jest、AudioContext 进行测试和模拟

csp-s模拟测试56(10.2)Merchant「二分」·Equation「树状数组」

在 UI 测试中将模拟数据插入 Core Data