标签:lcm span block 添加 需要 inline 扩展 容斥 class
有长度为\(n\)的序列\(\{a\}\)。给定\(m\)长度的序列\(\{b\}\),对于每个\(b_i\),能得到\(a_1+a_2+\cdots+a_{b_i},a_{b_i+1}+a_{b_i+2}+\cdots+a_{2b_i},\cdots,a_{kb_i+1}+a_{kb_i+2}+\cdots +a_{n}\)。求能得到多少确定的\(a_i\)
能得到\(a_i\)的充要条件为\(\sum\limits_{k=1}^i a_i,\sum\limits_{k=1}^{i-1}a_i\)
而对于\(b_i\),能得到\(\sum\limits_{c=1}^{kb_i}a_i\),但还能得到\(\sum\limits_{c=1}^n a_i\),为方便处理,在\(\{b\}\)中添加\(b_i=n\)
考虑两个\(b_i,b_j\)的贡献,为\(k_1b_i=x,k_2b_j=x-1\),可以用扩展欧几里得算个数
但还需要考虑算重的情况
容斥处理,考虑集合\(A,B\),用\(b_i‘=lcm(A_1,A_2,...,A_{|A|}),b_j‘=lcm(B_1,B_2,...,B_{|B|})\)做上面的东西
容斥系数为\((-1)^{|A|+|B|}\)
\(\sum\limits_{i=1}^{|A|}\sum\limits_{j=1}^{|B|}{|A|\choose i}{|B|\choose j}(-1)^{|A|+|B|}=1\)
标签:lcm span block 添加 需要 inline 扩展 容斥 class
原文地址:https://www.cnblogs.com/Grice/p/13027196.html