Codeforces Round #116 (Div. 2, ACM-ICPC Rules)
代码
A. Defragmentation
- 按颜色分配(1)到(sum_{i=1}^{m}{n_i})位置,那么可以得到(t_i)表示位置(i)最后占据位置(t_i),-1表示该位置为空。
- 那么会出现两种情况:
- (t_1 o t_2 o cdots o {-1}),即一条链,从后面往前覆盖。
- (t_1 o t_2 o cdots o t_i o t_1),构成一条链,那么找到一个空位置,将其中一个值暂存在空位置上,变成一条链,最后再把暂存的值放到相应的位置上。
B. Divisibility Rules
- (2-type):$$gcd(d, b, b^2, cdots, b^k) = 1$$
- (3-type):$$(b-1) mod d =0$$
- (11-type):$$(b+1) mod d =0$$
- (6-type):分解质因数,判断每种是否都能表示成前3种之一。
C. Letter
- 枚举边界,统计前半部分大写字母个数,后半部分小写字母个数。
D. Name
- 尽可能让前缀相等。
- (t)是(s)的前缀情况特判。
E. Cubes
- 统计每种颜色的位置。
- 每种颜色单独做,维护左右边界,当操作次数超过k时缩小范围。
F. Mathematical Analysis Rocks!
-
[p[a[i]] = b[i] ]