Codeforces Round #751 (Div. 2) ABCD 题解 (Java/C++)
A. Two Subsequences
题解
显然a字符串只会有一个字母。我们只需要找到原字符串中最小的字母即可。
代码
Java
C++
B. Divine Array
题解
暴力求解直到所有的数不再改变即可。因为值发生变化的原因是:在上一次变化中,有两个数有同样的数目。
于是显然的,这种操作最多进行2000次之后,所有的数字都会变成同样的数字。
代码
Java
C++
C. Array Elimination
题解
显然,如果要删除某一位的1,那么选择的k个数在那一位上都全是1。同时,每次操作之后,这一位上的所有1都会变成0。因此k必然能整除这一位为1的所有数的数目。
因此,统计每一位为1的数目,取最大公约数即可。
代码
Java
C++
D. Frog Traveler
这个问题的关键点是把滑落转化为跳跃操作的一部分。