A. 魔法序列 根据题意写出序列的前几项为 ,容易发现序列的偶数项全部是 ,奇数项是 开始公差为 的等差数列。奇偶位置分开算和,最后加起来即可。 核心部分代码: int main() { cin >> n; ll ans = n / 2; n = (n + 1) / 2; ans += 1ll * n * (n + 1) / 2; cout << ans << '\n'; } B. 赛跑 考虑假设两个人选择的向量分别是 和 ,则两人的曼哈顿距离为 。考虑将绝对值拆开: 扫描小 L 的所有向量,分别计算 的最大值。再扫描小 P ...