这个
Ai∈{−1,1} 太逊了,我们看看丢掉这个条件能不能做。
考虑使用差分数组刻画限制:
i=1∑nAij=1∑ici=0i=1∑ncij=i+1∑nAi=0
设
Bi 为
Ai 的后缀和,则题目条件可以表示为
∑Bici=0。
此外,我们还有一个
∀i>1,ci>0 的要求,我们对
c1 的大小没有要求,考虑从此处入手。接下来我们分两种情况讨论:
情况1:B1=0。
不妨设
B1>0,否则可以全部取反。
现在
c1=−∑i=2nBi,ci=B1 满足要求。
情况2:B1=0。
相当于说现在
c1 没用了,直接设为
0。
先把
∀i,Bi=0 的情况特判掉。
我们发现,如果剩下的
Bi 都有
Bi≤0,则最终的和一定小于
0,反之同理。
所以我们现在能找到一个
Bx>0 和一个
By<0。
设
s=Bx+By−∑B,不妨认为
s>0,则
cx=Bx−∑B,cy=Bx,ci=Bx 为一组合法解,否则
cx=−By,cy=∑B−By,ci=Bi 为一组合法解。
这样我们就成功地构造出来了答案。