题解:P16290 [蓝桥杯 2026 省 Java A 组] 间歇性发射

· · 题解

一种不同的解题思路

思路分析

条件转换

给定参数 A = 12345678901235M = 98765432109874S = 20260411

由于 A = 12345678901235 是奇数,从 V = \lfloor k/2 \rfloor - A + 1 可推出:

定义 $B = 2A = 24691357802470$,则问题转化为求区间 $[B,\ M]$ 中所有满足 $k \bmod 4 \in \{2,3\}$ 的整数的异或和。 ### 前缀异或函数 定义前缀异或函数: $\operatorname{pre}(n) = \bigoplus_{i=0}^{n} \left( i \cdot [i \bmod 4 \in \{2,3\}] \right)$。 区间 $[B,\ M]$ 的异或和为: $\operatorname{pre}(M) \oplus \operatorname{pre}(B-1)$。 ### 推导 $\operatorname{pre}(n)

m = \lfloor n/4 \rfloorr = n \bmod 4。分情况讨论:

计算

对于 M = 98765432109874

$\operatorname{pre}(M) = 0 \oplus (4m_M + 2) = 98765432109874$。 **对于 $B-1 = 24691357802469$:** $m_{B-1} = \left\lfloor \frac{B-1}{4} \right\rfloor = 6172839450617$,$r_{B-1} = 1$。 $\operatorname{pre}(B-1) = 1$。 ### 结果计算 区间异或和: $\operatorname{pre}(M) \oplus \operatorname{pre}(B-1) = 98765432109874 \oplus 1 = 98765432109875$。 校验码: $S \oplus 98765432109875 = 20260411 \oplus 98765432109875 = 98765445405960$。 ## 最终答案 $98765445405960