Codeforces Round #747 (Div. 2)
A. Consecutive Sum Riddle
水题,一个为正一个为负即可。
|
|
B. Special Numbers
给一个 $n$, 用 $n^0,n^1,n^2,\dots$ 组合成数,可以用 $n = 2$ 的情况来观测别的情况
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
1 | 3 | 4 | 9 | 10 | 12 | 13 | 27 |
第一行是标记,第二行是 $n = 2$ 的情况,第三行是 $n = 3$ 的情况,以第 $7$ 个数为例,它的二进制为 111
, 当 $n = 2$ ,则第 7 个数由 $2^0,2^1,2^2$ 组成,当 $n = 3$ ,则第 7 个数由 $3^0,3^1,3^2$ 组成,所有对 $k$ 二进制拆分后,就可以得到答案了
|
|
C. Make Them Equal
如果所给的字符串就是满足条件的那么答案是 $0$,若目标字符串中最后面的与 $c$ 字符相等的下标是 $> \dfrac{n}{2}$ ,则只需要一次操作即可也就是输出这个下标,否则很明显在两次操作内必然能完成,只需要选两个互质的数即可,比如 n, 与 n - 1。
|
|
D. The Number of Imposters
首先一个人有可能是 Imposters, 也有可能是 crewmate ,我们可以发现,如果一个说另一个人是 Imposters,则这两个人的身份必然是相反的,而如果一个说另一个人 Imposters,则这两个人的身份必然是相反的,并且这个关系是双向的,也就是说两个人之间是双向边。我们可以给在一个图中给每个人染色,如果染色冲突了就是无解,输出 -1
,否则答案加上两种颜色中个数最多的那个。
|
|
E1. Rubik’s Cube Coloring (easy version)
第一个点是 $6$ 种颜色,它的子节点是 $4$ 种选择,而每个结点有两个子节点,所以答案是 $6\times 2^{2^2 + 2^3 + \dots 2^k}$,快速幂求解即可,注意 1 << k
种的 1 默认为 int
,所以左移过多会溢出!
|
|