Codeforces Round 921 (Div. 2)
A. We Got Everything Covered!
思路:
- 直接输出 \(n\) 个连续的 \('a' \sim char('a' + k - 1)\) 的字符串即可
时间复杂度:\(O(n)\)
1 | void solve() { |
B. A Balanced Problemset?
思路:
- 找到大于等于 \(n\) 的最大下取整的除数的最小因子即可
时间复杂度:\(O(\sqrt x)\)
1 | void solve() { |
C. Did We Get Everything Covered?
思路:
- 序列自动机,首先开一个 \(nxt\) 数组记录当前位置 \(i\) 后面字母 \(j\) 出现的位置,每次跳最大的 \(nxt[i][0 \sim 25]\) ,由于 \(p\) 数组初始化为 \(0\),那么当 \(nxt[now][j]\) 为 \(0\) 就说明跳不动了,输出跳的路径即可。
时间复杂度:\(O(nk+m)\)
1 | void solve() { |