c题
给定一个只包含 o 和 - 的,长度为n的字符串s,从中找到一个最长的子串,满足第一个或最后一个字符为 -
首先先判断字符串 中 o 和 - 两种字符是否都有。
然后我们可以发现,因为这种字串的特点是头或尾为 - ,中间是 o,所以求最长子串就是求连续 o 的长度的最大值。
d题
二分
如果是 0,可利用 s 的第一个位置是 0 的特性将 l 设为 mid 如果是 1,可利用 s 的第一个位置是 1 的特性将 l 设为 mid
e题
bfs算两点距离
因为离p[i] 最近的黑点和p[i] 的距离是d[i] ,所以说明和 p[i] 的距离小于 d[i] 的点不能为黑。
最后判断一下能否用上述方法染色即可。