其他分享
首页 > 其他分享> > AT 杂题泛做

AT 杂题泛做

作者:互联网

abc200_e

考虑和为 \(i\) 分成两个小于等于 \(n\) 的正整数的方案数 \(one_i\)。如果 \(2\leq i\leq n\),显然是 \(i-1\);如果 \(n<i\leq 2n\),那么第一个数至少取 \(i-n\),至多取 \(n\),所以是 \(n-(i-n)+1=2n-i+1\)。

再考虑和为 \(i\) 分成三个小于等于 \(n\) 的正整数的方案数 \(two_i\)。第一个数至少取 \(1\),至多取 \(n\),所以是 \(\sum_{j=i-n}^{i-1}one_i\)。前缀和优化。

枚举三个数的和,一直减到确定三个数的和为止。再枚举第一个数,一直减到确定后两个数的和为止。然后根据剩下的 \(k\) 输出答案。

标签:小于,正整数,为止,leq,枚举,三个,杂题
来源: https://www.cnblogs.com/May-2nd/p/14746681.html