CF762(EDU17) 题解

· · 题解

A. k-th divisor:

:::::info[题目基本信息] 考察:数学,数论(1400)。
题目简介:
给定 n,k,求 n 的第 k 大因子,若不存在输出 -1。
数据范围:

  1. p\le\sqrt n
  2. \displaystyle\frac{n}{p}\in \mathbb Z_+,\frac{n}{p}\le\sqrt n

所以我们枚举 p 和 \displaystyle\frac{n}{p},判断因数模拟即可。
时间复杂度为 \Theta(\sqrt n),空间复杂度为 \Theta(1)。
:::::warning[坑点] 当 p=\sqrt n 时 p 和 \displaystyle\frac{n}{p} 会算两次,要减去。
:::::

B. USB vs. PS/2:

:::::info[题目基本信息] 考察:贪心,排序,堆排序(1400)。
题目简介:
你有 a+b+c 台电脑,a 台只有 USB 端口,b 台只有 PS/2,c 台两种都有。有 m 个鼠标,他们分别能匹配 USB 或 PS/2 端口(电脑和鼠标只能一一匹配),代价分别为 \{val_m\},问在能匹配最多的电脑的情况下,这个值和最小代价分别是多少。
数据范围:

  1. 第 1 行和第 3 行本质是一样的,可以归为一类讨论。 :::::success[证明] 轴对称一下即可,显然成立。
    :::::

  2. 当我们处于旁边两行时,我们不能往回走。 :::::success[证明] 注意到从旁边走回去后就回不来了,所以我们不能往回走。
    证毕。 :::::

  3. 我们最多会连续往后走一格。 :::::success[证明]

    • 当连续往回走的步数为偶数格时:
      上面是唯一一种情况。
      容易发现它可以被如此替代:
    • 当连续往回走的步数为奇数格时: 容易发现它可以被如此替代:
    证毕。

根据性质 2,3 可知,我们 DP 要讨论的情况数实际并不多,这时 DP 就没有后效性了。
时空复杂度均为 \Theta(n)。

E. Radio stations:

:::::info[题目基本信息] 考察:线段树,树状数组,cdq 分治。
题目简介:
给定 n,k 以及 \{x_n\},\{r_n\},\{f_n\},求满足下列条件的 (i,j) 的个数:

数据范围:

  1. dfs 枚举 us。
  2. 枚举 vs\in gs_{us}。
  3. 枚举 T',从大到小枚举。
  4. 枚举 ut。
  5. 枚举 vt。

这样最后答案就是 \displaystyle ans\leftarrow\sum_{i=1}^{|S|}\sum_{j=1}^{|T|}f_{i,\bigcup_{p=1}^{|S|}\{p\},j}。
然后对两个问题分别做一遍,用快速幂算答案即可。
时空复杂度均为 \Theta(|S||T|2^{|T|})。
:::::warning[坑点] 本题相当卡空间,尽量少开 long long。
:::::