AtCoder Beginner Contest 281

· · 个人记录

比赛链接

A - Count Down

A题题面

直接输出即可

B - Sandwich Number

B题题面

这道题首先判断开头结尾是否为大写字母,然后判断总长度是否为8,然后对中间一段转数字即可。

C - Circular Playlist

C题题面

小学数学题\dots\dots

D - Max Multiple

D题题面

令 dp 方程为 dp[i][j][k] 表示前 i 个数,选了 j 个数,和的余数为 k 的最大值。

然后转移即可

E - Least Elements

E题题面

这道题貌似可以用 STL 乱搞过

这道题我们可以直接写主席树,然后查询即可

为什么我要用主席树

F - Xor Minimization

F题题面

这道题其实代码很短,但思路不怎么好想

首先,我们令一个数的二进制最低位为第 0 位。从第 29 位往下考虑。

如果当前二进制位所有的数都是 1,容易想出,这里一定填 0,如果全是 0,那么填 1。

但如果有 1 有 0 呢?

我们令集合 T 为当前位为 0 的数的集合,S 为其余的数的集合。

如果此时填 1,那么我们后面可以确定,答案只会在集合 T 中产生,反之,会在集合 S 中产生。我们只需要分别考虑即可。

比赛代码