Educational Codeforces Round 125 (Rated for Div. 2)

Educational Codeforces Round 125 (Rated for Div. 2)

A

起始时,你在下标(0,0)处,每一步你可以走到一个下标为(x,y),前提是走完后的位置与没走之前的位置的直线距离是整数。
给出x, y 。 问走到点(x, y)最小步数。

如果x=0且y=0,则答案是0.
如果x=0或y=0,则答案是1.
否则为2。

B

给出四个整数 n, B, x, y. 构造一个n个数的序列a。使得序列和最大。
构造序列的规则如下:

  • $a_i = a_{i-1} + x$
  • $a_i = a_{i-1} - y$
  • $a_i \le B$

贪心构造即可。只要$a_{i-1}+x \le B$, 那么当前$a_i = a_{i-1}+x$, 否则$a_i = a_{i-1}-y$

C

给出一个括号字符串,每次操作可以删除一个‘好’前缀,直到没有好前缀为止。问最后操作的次数和剩余的字符个数。
好前缀:

  1. 规则的括号:每个左括号都有对应的右括号。
  2. 长度至少为2的回文串。
    实际上只要是(),((, )) 都可以删除,一旦遇到)(,必须要在后面找到一个)形成回文串,否则就不能删除了。