[PKUSC2018]最大前缀和

考虑到最大前缀和的等价条件:

前缀的真后缀全>=0
前缀的补集的前缀小于0

考虑记(S(u))为子表示的元素的权值和。
(f(u))为满足第一个条件的方案数,(g(u))为满足第二个条件的方案数。

注意到是真子集,所以我们要考虑(s(u))小于(0)的情形。
所以记(f(u,0),f(u,1)),一个为(s(u) < 0,s(u) > 0).

然后考虑(f)从后往前加,(g)从前往后加入,计算方案即可。

原文地址:https://www.cnblogs.com/dixiao/p/15162433.html