题目来自: 2023牛客暑期多校训练营7
Solved | Rank | A | B | C | D | E | F | G | H | I | J | K | L | M |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4 / 13 | 139 / 1437 | - | - | O | - | - | O | Ø | - | O | - | Ø | Ø | O |
- Ø 赛后通过
- O 在比赛中通过
- ! 尝试了但是失败了
- - 没有尝试
C - Beautiful Sequence
给出一个序列 $B$,求字典序第 $k$ 小的序列 $A$ 且满足 $A1 \le A_2 \le … \le A_n$,且 $0 \le A_i < 2^{30}$ ,且 $A_i \oplus A{i + 1} = B_i$。
可以发现,一旦 $A_1$ 确定了,那么整个序列就固定了,那么考虑去找第 $k$ 小的 $A_1$。
对于 $Bi$ 来说,$A_i \oplus B_i = A{i+1}$ 显然只有最高位的 $1$ 有影响,且 $A_i$ 在 $B_i$ 最高位 $1$ 的位置必须是 $0$ ,且影响不到其他二进制位。那么再记一个前缀和就能得到 $A_i$ 在某位为 $0$ 时 $A_1$ 的值时多少,如果 $A_1$ 还未确定就确定下这一位,如果已经确定过了那么就验证合法性,最后在没确定位置中取第 $k$ 小即可。
1 |
|
F - Counting Sequences
给出$n, m, k$,求有多少个序列 $A = (A1, A_2, …, A_n),\ 0 \le A_i < 2^m$,序列 $B = (A_2, A_3, …, A_n, A_1)$,满足 $\sum \limits{i = 1} ^ {n} cnt_1(A_i \oplus B_i) = k$。$cnt_1(x)$ 表示 $x$ 二进制中 $1$ 的个数。
多项式,队友秒了。
1 |
|
G - Cyperation
给一个长度为 $n$ 的环 $a$,对于一组 $i, j$ 满足 $min(j - i, n - i + j) = k$ ,可以将 $a_i$ 和 $a_j$ 同时减去 $1$,问最后能不能变为全 $0$。
首先如果数组全 $0$ 则答案为 $YES$。
如果 $k > \lfloor \frac{n}{2} \rfloor$ 则无解。
接下来我们把隔 $k$ 距离的数取出来,可以发现这可以构成若干个环,而且在一个环中的一次操作变为了对两个相邻的数同时减去 $1$。
对于每个环,我们设 $xi$ 为操作环上第 $i$ 条边相连的两个数的次数,$y_i$ 表示换上第 $i$ 个数在 $a$ 中的值,那么可以列出一系列形如 $x_i + x{i - 1} = y_i$ 的式子。
对于一个奇数环,我们可以直接解出每个 $x_i$ 的值判断是否都大于等于 $0$。
对于一个偶数环,由于有效方程个数只有 $n - 1$ 个,是有多解存在的,可以考虑把每个 $x_i$ 都写成关于 $x_1$ 的式子,通过 $x_i \ge 0$ 的条件可以不断缩小 $x_1$ 的取值范围,最后判断取值范围是否为空即可。
1 |
|
I - We Love Strings
给出 $n$ 个 $01?$ 串,其中 $?$ 可以替换为 $0$ 或者 $1$,问这些串覆盖了多少个 $01$ 串,串的长度总和以及 $n$ 都是小于等于 $400$。
首先对每个长度的串分类。
考虑更号分治,如果个数小于等于 $20$ 则容斥,否则说明每个串的长度小于等于 $20$,这个时候就直接枚举每个 $?$ 是 $0$ 还是 $1$。
1 |
|
K - Set
TBD
TBD
1 |
|
L - Misaka Mikoto’s Dynamic KMP Problem
诈骗题
kmp
1 |
|
M - Writing Books
签到题
队友秒了
1 |
|