题解:
比较简单的点分治
首先暴力的话直接枚举 然后枚举另一个点的时候顺便看一下有没有零点 n^2
考虑点分治
分治之后用f[i][0/1]表示权值为i,有没有零点的方案数
我们来证明一件事情,如果两边都无零点且权值为0则整一个序列没有零点
则左边某点和最右点构成0,而整一段和为0,则左边端点和那点也为零,与命题不符
所以这么做是对的
题解:
比较简单的点分治
首先暴力的话直接枚举 然后枚举另一个点的时候顺便看一下有没有零点 n^2
考虑点分治
分治之后用f[i][0/1]表示权值为i,有没有零点的方案数
我们来证明一件事情,如果两边都无零点且权值为0则整一个序列没有零点
则左边某点和最右点构成0,而整一段和为0,则左边端点和那点也为零,与命题不符
所以这么做是对的