码迷,mamicode.com
首页 > 其他好文 > 详细

jzoj5796

时间:2020-06-01 20:58:43      阅读:66      评论:0      收藏:0      [点我收藏+]

标签: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\)

jzoj5796

标签:lcm   span   block   添加   需要   inline   扩展   容斥   class   

原文地址:https://www.cnblogs.com/Grice/p/13027196.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!