2025.10.8 总结
CF2145
Candies for Nephews
情况
- 时间:\(30min\)
- 预期:\(\text{AC}\)
- 实际:\(\text{AC}\)
知识点
- 贪心
思路
我们可以先求出最小需要多少糖果,也就是 \(\lceil\frac{n}{3}\rceil\times3\) 颗糖果,然后减去 \(n\) 即可。
Deck of Cards
情况
- 时间:\(30min\)
- 预期:\(\text{AC}\)
- 实际:\(\text{AC}\)
知识点
- 模拟
思路
我们发现三种操作的顺序并不会影响结果,所以我们先统计出三种操作的数量,然后假设三种操作分别有 \(a,b,c\) 个,所以有以下两种情况:
- \(k=n\),所以一定会被涂完,所以输出 \(n\) 个负号即可。
- \(k\neq n\),所以我们先将所有的位置填上加号,然后我们可以发现,\(i<a\) 或 \(i\ge n-b\) 时填负号,不满足上面情况且 \(i<a+c\) 或 \(i\ge n-b-c\) 就填上问号。
所以这道题就做完了。
Monocarp's String
情况
- 时间:\(30min\)
- 预期:\(\text{AC}\)
- 实际:\(\text{AC}\)
知识点
- 贪心,\(\text{map}\)
思路
我们将 \(a\) 定义为 \(1\),\(b\) 定义为 \(-1\) 所以我们需要找到一个子段的和等于整个数组的和,所以直接用 \(\text{map}\) 存改值上次出现的位置,每次取最小值即可。
Inversion Value of a Permutation
情况
- 时间:\(1h\)
- 预期:\(\text{AC}\)
- 实际:\(\text{AC}\)
知识点
- \(\text{dfs}\),\(\text{dp}\)
思路
因为当添加一个数 \(i\) 时,最多可以增加 \(i^2\) 个逆序对,所以我们可以先 \(\text{dp}\) 判断是否可行,然后用 \(\text{dfs}\) 构造方案。

浙公网安备 33010602011771号