60分做法:
枚举X和Y, 那么 Z = S - X - Y
80分做法:
枚举X, 那么 Y + Z = S - X, 且 Y和Z 都在[0, k] 范围内,快算计算满足要求的Y和Z对数
100分做法:
我们令
我们分情况讨论
-
那么显然答案就是 1
-
那么 直接把 S 分成 3分,可以为空的情况即可
-
如果 S 在 的范围内
那么令 , 即 x 的 取值范围 [k1, k2], 因为 一旦 则 必然Y或者Z 有一个数会超过 k
当 的时候, 此时方案数为
当 的时候, 此时方案数为
当 的时候, 此时方案数为
以此类推
当 的时候, 此时方案数为
后面以此类推
当 , , 此时方案数为
直到 时, , 此时的方案数为
此时可以找规律计算答案。
-
如果 S 在 的范围内
同3的找规律方案计算一下答案即可。
共 6 条回复
6
6
6
6
6
6