数学/数论 奇偶性 -- 题解 CF1327A 【Sum of Odd Integers】

jijidawang

2020-03-24 19:11:56

Solution

## 题面简述 > 给定 $n,k$,判断 $n$ 是否能被表示成 $k$ 个不同的正奇数之和。 ## 算法分析 首先取出前 $k$ 个奇数: $$1,3,5,7,\dots,2k-1$$ 求和: $$\sum_{i=1}^k(2i-1)=\dfrac{k(1-2k+1)}{2}=k^2$$ 得出结论:$k$ 个不同的正奇数的最小和为 $k^2$。 只要不断将最大的奇数加 $2$,我们就能构造 $k$ 个奇数使其和为 $n$。 所以当 $n-k^2\ge 0$ 且 $(n-k^2)\bmod 2=0$ 时一定有解。 当 $n-k^2<0$ 时,显然不能构造。 $k$ 个奇数相加,它的奇偶性一定和 $k$ 保持一致。 因为 $k$ 的奇偶性和 $k^2$ 一致,所以当 $(n-k^2)\bmod 2=1$ 时也不能构造。 所以“$n-k^2\ge 0$ 且 $(n-k^2)\bmod 2=0$”是有解的**充要条件**。 所以只要判断 $n$ 和 $k$ 奇偶性是否相同和 $n$ 是否 $\ge k^2$ 即可。