题解:

比较简单的点分治

首先暴力的话直接枚举 然后枚举另一个点的时候顺便看一下有没有零点 n^2

考虑点分治

分治之后用f[i][0/1]表示权值为i,有没有零点的方案数

我们来证明一件事情,如果两边都无零点且权值为0则整一个序列没有零点

则左边某点和最右点构成0,而整一段和为0,则左边端点和那点也为零,与命题不符

所以这么做是对的

05-08 07:59