CCPC-2020 威海站记录
第一块银牌留念!
继秦皇岛站打铜过后,终于有所进步了。接下来的日子里继续冲!
A. Golden Spirit
毫无疑问先把 $2n$ 个老人全运到对面去,假设人刚开始在 $A$ 岸,那么 $2nt$ 的时间后现在人仍在 $A$ 岸。现在,如果第一个到达 $A$ 岸的人(已经休息了 $2nt-t$ 时间)已经休息好了($2nt-t\geqslant x$),那么再花 $2nt$ 的时间吧所有人运回对面即可;否则有两种选择,要么在 $A$ 岸等待第一个到达 $A$ 岸的人休息好,要么走到 $B$ 岸等第一个到 $B$ 岸的人休息好,二者取 $\min$ 即可。
(刚开始想成了 $2nt$ 时间后人在 $B$ 岸,贡献了全场我队唯一一发罚时。。。)
1 |
|
C. Recontre
只需注意到一个极其重要的性质:树上三个点到某点的最短距离之和等于三个点两两距离之和的一半。
于是问题变成了在树上取两个点,求期望长度。这个及其套路地考虑边的贡献可以轻松解决。
1 |
|
D. ABC Conjecture
重现一下考试时的思考过程:设 $d=\gcd(a,c),a=dk_1,c=dk_2,k_1<k_2$,则 $b=d(k_2-k_1)$,
故要使 $\text{rad}(abc)<c$,只需找到 $k_1\perp k_2$ 使得 $k_1(k_2-k_1)<\frac{c}{\text{rad}(c)}$,如果 $\frac{c}{\text{rad}(c)}\neq 1$,那就取 $k_2=\frac{c}{\text{rad}(c)},k_1=1$ 即可;否则无解。
所以问题变成了判断 $c$ 是否有平方因子。比赛的时候直接莽上 Pollard-Rho
了,但事实上没有必要。
1 |
|
G. Caesar Cipher
分块+哈希。
1 |
|
H. Message Bomb
队友做的,没看题。。。
1 |
|
L. Clock Master
同队友做的,没看题。
1 |
|