santisify Site

Back

Educational Codeforces Round 168 (Rated for Div.2)Blur image

A Strong Password#

题目描述#

给定字符串,现在让我们添加一个字符,使得字符串的价值最大,对于价值是这样看的

  • 第一个字符的价值为2
  • 后面的字符若与前面的字符相同,则价值为1,否则价值为2。 让我们输出价值最大的一种情况

解题思路#

我们可以遍历每一个位置,然后找出在哪个位置插入的价值最大,毕竟 n 的取值较小,最后再将其替换为与前后位置不相等的字符即可。

参考代码#

B Make Three Regions#

题目描述#

给定一个 2n2 * n 的一个字符矩阵,其中 . 是开放的,而 X 是阻塞的,现在让我们判断有几个点可以将这个字符矩阵分为三个联通的区域。

解题思路#

刚开始的时候,以为是有几个联通的区域,写完 dfs 后,什么WA1, 我连 dfs 都能写错,结果自己是小丑(小插曲) 可以通过给出的图例看出一列只可能有一个点能成为分割点,那么能成为分割点就需要满足四个条件,

  • s[0][i]=.&&s[1][i]=.s[0][i] ='.' \&\& s[1][i] ='.'
  • s[0][i1]s[1][i1]s[0][i - 1] \neq s[1][i - 1]
  • s[0][i+1]s[1][i+1]s[0][i+1] \neq s[1][i+1]
  • s[0][i1]=s[0][i+1]s[0][i-1] = s[0][i + 1] 既然这样,那就简单了

参考代码#

C Even Positions#

题目描述#

给定字符串,让我们输出字符串匹配的()的最短距离,距离是pos(())pos(()pos('()') - pos('(')

解题思路#

手指玩玩就行了

参考代码#

Educational Codeforces Round 168 (Rated for Div.2)
https://santisify.top/blog/old/cf1997
Author santisify
Published at August 8, 2024
Comment seems to stuck. Try to refresh?✨