20ZR暑期联赛班 Day 1

A 染色

1 n 1 \sim n 染色,使得 i < j \forall i < j ,如果 j i j - i 为质数,那么 i i j j 颜色不同。

找规律。因为相邻的两个数差不为质数,最小的合数是 4 4 ,所以有 1 1 2 2 3 3 4 4 和 1 2 3 4 1 2 3 4 两个循环。

B 序列

给定一个长为 m m 的序列 a a ,构造一个序列 b b ,满足 b i n , i = 1 m a i b i D b_i \leq n,\sum_{i=1}^m a_ib_i \leq D 。求 b i + k min i = 1 m b i \sum b_i + k \min_{i=1}^m{b_i} 的最大值。

先将 a a 从小到大排序,那么 i < j \forall i < j ,有 b i b j b_i \ge b_j b b 的构成一定是由 S S n n 、一个 x x 、若干个 m i n min 依次构成的。

a n s = S × n + x + D i = 1 S a i × n x × a s + 1 i = S + 2 m a i × ( k + m S 1 ) ans = S \times n + x + \left\lfloor \frac{D - \sum_{i=1}^S a_i \times n - x \times a_{s+1}}{\sum_{i=S + 2}^m a_i} \right\rfloor \times (k + m - S - 1)

那么右式在枚举 S S 后,唯一的未知数是 x x ,那么可以写成一个 f ( x ) = x + a b x c f(x) = x + a\lfloor\frac{b - x}{c}\rfloor 的函数。推理发现这是一个多峰的锯齿函数。那么这个函数的最高峰可能出现

  • 第一个波峰。 m i n min 的优先级更高。
  • 最后一个波峰。 m i n min 的优先级更高。
  • 结束点,没有形成波峰。 x x 的优先级更高。

时间复杂度 O ( T × n log n ) O(T \times n \log n)

C 树上询问

给定一个 n n 个点的树,有 m m 个循环。每个询问给定 u , v u,v ,求存在多少个点对 ( u , u + k ) (u,u+k) 的距离为 k k

t = lca ( a , b ) t = \operatorname{lca} (a,b) ,将路径拆成 u t v u \to t \to v ,令 x x u + k u + k ,那么点对有两类

  • x x u t u \to t 上, d e p x x = d e p u dep_x - x = dep_u
  • x x t v t \to v 上, d e p x + x = 2 × d e p t d e p u dep_x + x = 2 \times dep_t - dep_u

可以发现在 x x u , v u,v 已知的前提下,两边都是定值。求一条路径中某个数的次数,主席树板子。时间复杂度 O ( m log n ) O(m \log n)

CF595E Edo and Magnets

只删边界上的点,共有四条边,那么会有 4 k 4k 条边有删的可能性。删的点一定是个前缀。所以 O ( k 4 ) O(k^4) 枚举。

CF506D Mr. Kitayuta’s Colorful Graph

再看一下

对于每个颜色新建一个图,没什么好的思路,无非暴力和并查集,空间时间进退两难。不如结合一下,对为某颜色的边的个数进行分类。

如果边数 n \ge \sqrt n 那么就并查集,这样的并查集不会建立超过 n \sqrt n 个。否则就暴力,时间复杂度不会超过 O ( n n ) O(n\sqrt n) 。这不强制在线,为了建图的空间用 map 离线一下。

时间复杂度 O ( n n ) O(n\sqrt n)

CF1139C Edgy Trees

给定一个 n n 个点的树,树边为红色或黑色。一个长度为 k k 的路径序列是小天才的,当且仅当路径上至少有一条黑边。求序列个数,点可重复。
一条黑边不舒服,就把黑边删掉,相当于求了黑边的补集。那么现在有若棵树,每个树边是红边,对每个联通块点个数的 k k 次幂求和即可,找规律 /doge。

猜你喜欢

转载自blog.csdn.net/qq_39984146/article/details/107467736