\(1 \le n \le 10^{12}\)
ABC279H
对于 \(\min(k, S_k)\) 与 \(S_k\),构造生成函数 \(f_k(x)\):
remark: \(\sum\limits_{i = 0}^{k - 1} (i + 1)x^i = \left(\sum\limits_{i = 0}^k x^i \right)' = \left( \dfrac{1 - x^{k + 1}}{1 - x} \right)'\)
所以答案就是:$ ans = [x^m]\prod\limits_{i = 1}^n \dfrac{x(1 - x^i)}{(1 - x)^2} = [x^{m - n}] \dfrac{1}{(1 - x)^{2n}} \prod\limits_{i = 1}^n (1 - x^i)$。
由于 \(m \le 2n\),所以 \(ans = [x^{m - n}] \dfrac{1}{(1 - x)^{2n}} \prod\limits_{i \ge 1} (1 - x^i)\)。
又由五边形数定理,\(ans = [x^{m - n}] \dfrac{1}{(1 - x)^{2n}}\sum\limits_{k \in \Z} (-1)^k x^{k(3k - 1)}\)
暴力枚举 \(k\),只有 \(O(\sqrt n)\) 项,然后得到 \(\dfrac{1}{(1 - x)^{2n}}\) 的指数,使用 Lucas 定理算组合数即可。
时间复杂度:\(O(p + \sqrt n \log _p n)\)
呃,最开始求封闭形式求错了(搞成前缀和,而不是求导了),变成了一堆复杂的东西。