摘要:
A. Do Not Be Distracted! 用一个数组保存一道题上一次出现的下标。枚举位置,如果存在位置$i$,使得$s_i$非首次出现且上一次出现的下标不是$i-1$则NO,反之YES。 B. Ordinary Numbers 满足条件的数其实非常少,且容易生成,所以直接预处理出所有满足条件 阅读全文
摘要:
A. Spy Detected! 对于$i \in [2, n -1]$,当且仅当$a_i \ne a_i - 1$且$a_i \ne a_{i + 1}$时,$i$为最终答案。 否则,答案可能是$1$或者$n$,将$a_1$和$a_n$与$a_2$比较看那个与$a_2$相同,另一个就是答案。 B. 阅读全文
摘要:
Append Sort 贪心。对于$i \ge 2$,每次将$s_i$修改成所有满足条件的数中最小的那个。 不妨将$s_i$看成字符串。 如果$s_i$是$s_{i - 1}$的前缀,那么一个可能的解是$t = str(int(s_{i - 1}) +1)$,或者不断补0直至$len(s_i) = 阅读全文
摘要:
A. Déjà Vu 根据回文串的定义,对于字符串$s_{1 \dots n}$,只要存在$s_ \ne s_{n - i + 1}$,那么$s$就不是回文串。 遍历$s$,若存在非a的字符,那么在对应位置插入a就可以。反之,则无解。 B. Flip the Bits 由于修改是前缀修改,且不会改变 阅读全文
摘要:
AC代码 Reversort 模拟。 Moons and Umbrellas Test Set 1 & 2 由于$x, y \ge 1$,所以要尽可能地少让CJ和JC出现。 对于连续的一段?,肯定是都填相同的字符,代价最小。原因是可以证明这样填至多产生一个新的代价。 如果其两端为相同字符,或者其中一 阅读全文
摘要:
AC代码 A. Strange Table 不妨假设表中的数字从$0$开始,且行列也从$0$开始。 此时数字$x$在按列排时位于$(\lfloor \frac \rfloor, x \text n)$。 而案行排时,$(i, j)$上的数字为$i + j * m$。 最后再转换回来就行了。 B. P 阅读全文
摘要:
AC代码 A - Difference Max 输出$b - c$。 B - Round Down 遍历字符串,若遇到.将其改为\0。 C - Doubled 易得:前半部分的值不会超过$10^6$。 所以可以枚举前半部分的值,再判断是否满足条件。 D - Hanjo 因为$HW \le 16$,比 阅读全文
摘要:
AC代码 A - Very Very Primitive Game 如果$c = 1$,就让B操作,然后就又变成A先手操作了。 A先手操作时,仅当$a > b$时先手胜。 B - Magic 3 遍历一遍,没什么好说的。 C - Bowls and Dishes 注意到$k \le 16$,所以可以 阅读全文
摘要:
AC代码 A. Puzzle From the Future 令$a_1 = 1$,可以保证$c$没有前导零且$c_1$尽可能大。 此时,$d$的位数越多必定比$d$位数小的大,通过保证$c_i \ne c_{i +1}$即可确保$d$有$n$位。 在保证$c_i \ge c_{i +1}$时,前面 阅读全文