Codeforces Round 784 (Div. 4)
A. Division?
思路:
- 写判断结构即可
时间复杂度:\(O(1)\)
1 | void solve() { |
B. Triple
思路:
- 输出任何一个出现次数大于
3
的数即可
时间复杂度:\(O(n)\)
1 | void solve() { |
C. Odd/Even Increments
思路:
- 如果序列中出现某个数的下标的奇偶性相同,但这两个数的奇偶性不同,那么一定不行
时间复杂度:\(O(n)\)
1 | void solve() { |
D. Colorful Stamp
思路:
- 去重然后判断白色和白色之间是否存在单色的方块,例如
WBW
或者WRW
- 注意首尾特判
时间复杂度:\(O(n)\)
1 | void solve() { |
E. 2-Letter Strings
思路:
- 由于字符数较少 \(a \sim k\) ,所以我们可以暴力枚举所有出现可能的字符串中,只有一个数相同的字符串个数且在序列中出现过
时间复杂度:\(O(n)\)
1 | void solve() { |
F. Eating Candies
思路:
- 用前缀和数组和二分维护头尾数量和小于
n
的最大相等值,或者用双指针维护也可以
时间复杂度:\(O(nlogn)\)
1 | void solve() { |
G. Fall Down
思路:
- 记录每一个
o
,上面有多少个*
即可,将整个图案向下扩展一层o
,然后模拟即可
时间复杂度:\(O(n \times m)\)
1 | void solve() { |
H. Maximal AND
思路:
或 \((OR)\) :\(0 \odot 1 = 1 \space\space\space\space\space\space\space 1 \odot 1 = 1\)
与 \((AND)\) :\(0 \otimes 1 = 0 \space\space\space\space\space\space\space 1 \otimes 1 = 1\)
异或 \((XOR)\) :\(0 \oplus 1 = 0 \space\space\space\space\space\space\space 0 \oplus 0 = 1 \space\space\space\space\space\space\space 1 \oplus 1 = 1\)
枚举所有数位中 \(1\) 的数量,然后贪心的补充最大数位即可,每满足一个数位等于 \(n\),就将这个数位设为 \(1\),然后输出答案即可
时间复杂度:\(O(n)\)
1 | void solve() { |