jzoj5796
Posted grice
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jzoj5796相关的知识,希望对你有一定的参考价值。
题意
有长度为(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)的充要条件为(sumlimits_{k=1}^i a_i,sumlimits_{k=1}^{i-1}a_i)
而对于(b_i),能得到(sumlimits_{c=1}^{kb_i}a_i),但还能得到(sumlimits_{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|})
(sumlimits_{i=1}^{|A|}sumlimits_{j=1}^{|B|}{|A|choose i}{|B|choose j}(-1)^{|A|+|B|}=1)
以上是关于jzoj5796的主要内容,如果未能解决你的问题,请参考以下文章