题解:

注意到k<=20;记录20个数f1...f20表示从选1-20个数的乘积分别为多少,

那么是一个(…+x)(…+x)……(…+x) 
拆括号,枚举含有j个x,那么就是j 
那个组合数的含义?因为有j个x,这j个x所在括号另一项的可能性是什么呢?i-j个已经确定,还有len-i+j个未确定,要选出j个。 

另外对于区间取反操作只要对为奇数的取反就可以了,另外要把lazy取反

合并两区间时f[k]=sigma(f[i]*f[k-i])就可以了

代码:

相关文章:

  • 2021-09-13
  • 2021-10-29
  • 2021-11-15
  • 2021-09-21
  • 2021-07-13
  • 2021-09-07
  • 2021-11-24
  • 2021-08-08
猜你喜欢
  • 2022-01-17
  • 2021-07-21
  • 2021-07-31
  • 2021-08-01
  • 2021-11-18
  • 2021-12-22
  • 2022-12-23
相关资源
相似解决方案