CF620(EDU6) 题解

· · 题解

不说闲话。

A. Professor GukiZ's Robot:

考察:数学。
题目简述:
在一平面直角坐标系上,小 X 要从 (x_1,y_1) 移动到 (x_2,y_2),每次他可以使得所在坐标的横纵坐标加上或减去 1 或不改变(由于小 X 智商没有问题,所以他不能也显然不会完全不移动),求他移动的最少步数。
数据范围:

  1. 不进行操作,此时最小值就为 \displaystyle|(\sum_{i=1}^na_i)-(\sum_{i=1}^mb_i)|。
  2. 进行 1 次操作,此时预处理两序列的和为 suma,sumb,假设确定了交换的 i 和 j 后交换后变为了 suma-a_i+b_j 以及 sumb+a_i-b_j,直接枚举,最小值为 \displaystyle\min_{i=1}^n\min_{j=1}^m|suma-sumb-2a_i+2b_j|。
  3. 进行 2 次操作,假设确定了交换的 i_1,i_2,j_1,j_2 则最后答案为 |suma-sumb-2(a_{i_1}+a_{i_2})+2(b_{j_1}+b_{j_2})|,所以 2(b_{j_1}+b_{j_2}) 要尽量接近 sumb-suma+2(a_{i_1}+a_{i_2}),所以将所有的 2(b_{j_1}+b_{j_2}) 扔进 set 里,然后按要求模拟即可。

时间复杂度为 \Theta((n^2+m^2)\log m^2),空间复杂度为 \Theta(m^2)。

E. New Year Tree:

考察:线段树,状态压缩。
题目简述:
小 Z 一棵树,它由 n 个点组成,最初第 i 个点的颜色为 c_i,后来有 m 次操作,可以将一个子树中的颜色全部修改为一个颜色或查询一个子树内的不同颜色数。
数据范围: