【PKUSC2018】最大前缀和

记录一下多没脑子。

考虑最大前缀是 \(S\),令 \(T=U-S\),显然可以对 \(S\)\(T\) 分别算组合数再乘起来,\(T\) 的方案数就是任意一段前缀和都 \(\le 0\) 的方案数 \(g_T\),可以状压 dp 求出来,实际上 \(S\) 算方案数也是类似的,不过我太没脑子了,没想到。

考虑 \(S\) 内部的排列 \(f_S\),考虑减去不合法的方案数,不合法代表能选出 \(K<S\) 使得 \(sum_K\ge sum_S\),此时的方案数就是 \(f_K\times g_{S-K}\),子集卷积可以解决,时间复杂度 \(O(n^22^n)\)

没脑子是赢不了的。

posted @ 2025-02-06 15:03  BYR_KKK  阅读(23)  评论(0)    收藏  举报