Codeforces Round 943 (Div. 3)
A. Maximize?
思路:
- \(n\) 的范围比较小,直接暴力枚举即可
时间复杂度:\(O(nlogn)\)
1 | void solve() { |
B. Prefiquence
思路:
- 双指针,分别在两个字符串上按规则扫描即可
时间复杂度:\(O(m)\)
1 | void solve() { |
C. Assembly via Remainders
思路:
- 我是直接取个最大值,然后减去两个之间的差值,不知道会不会被
hack
时间复杂度:\(O(n)\)
1 | void solve() { |
D. Permutation Game
思路:
- 这题直接遍历所有可能走过的点即可,然后我们剪枝一下就好了
时间复杂度:\(O(n)\)
1 | void solve() { |
E. Cells Arrangement
思路:
- 这题挺简单的,只要耐心推一下,就可以发现,只要我们将 \(n=2\) 的这个位置的坐标改为 \((2, 1)\) 就可以使得所有的组合方式的 \(dist\) 方案数最大
时间复杂度:\(O(n)\)
1 | void solve() { |
F. Equal XOR Segments
思路:
时间复杂度:
G1. Division + LCP (easy version)
思路:
- 二分加
kmp
或者字符串双模数hash
,来处理整个字符串中包含多少个当前长度的子串,根据这个数量和l
的大小关系来
时间复杂度:\(O(nlogn)\)
1 | /* |