题意
求 ∑ i = 0 n ∑ j = 1 ⌊ a i + b c ⌋ i p j q \sum\limits_{i=0}^{n}\sum\limits_{j=1}^{\lfloor\frac{ai+b}{c}\rfloor}i^pj^q i=0∑nj=1∑⌊cai+b⌋ipjq。对 998244353 998244353 998244353 取模。
其中, 1 ≤ n , c ≤ 1 0 9 , 0 ≤ a , b ≤ 1 0 9 , 0 ≤ p , q ≤ 50 1\le n,c\le 10^9,0\le a, b\le 10^9,0\le p,q\le 50 1≤n,c≤109,0≤a,b≤109,0≤p,q≤50。
分析
这形式一看就很类欧,考虑像类欧那样求。
首先定义 f ( a , b , c , n , p , q ) = ∑ i = 0 n ∑ j = 1 ⌊ a i + b c ⌋ i p j q f(a,b,c,n,p,q)=\sum\limits_{i=0}^{n}\sum\limits_{j=1}^{\lfloor\frac{ai+b}{c}\rfloor}i^pj^q f(a,b,c,n,p,q)=i=0∑nj=1∑⌊cai+b⌋ipjq。
-
b ≥ c b\ge c b≥c
∑ i = 0 n ∑ j = 1 ⌊ a i + b c ⌋ i p j q = ∑ i = 0 n ∑ j = 1 ⌊ a i + b m o d c c ⌋ + ⌊ b c ⌋ i p j q \sum\limits_{i=0}^{n}\sum\limits_{j=1}^{\lfloor\frac{ai+b}{c}\rfloor}i^pj^q=\sum\limits_{i=0}^{n}\sum\limits_{j=1}^{\lfloor\frac{ai+b ~mod~c}{c}\rfloor+\lfloor{\frac{b}{c}}\rfloor}i^pj^q i=0∑nj=1∑⌊cai+b⌋ipjq=i=0∑nj=1∑⌊cai+b mod c⌋+⌊cb⌋ipjq
记 k = ⌊ b c ⌋ k=\lfloor{\frac{b}{c}}\rfloor k=⌊cb⌋
考虑求 ∑ i = 0 n ∑ j = 1 k i p j q \sum\limits_{i=0}^{n}\sum\limits_{j=1}^{k}i^pj^q i=0∑nj=1∑kipjq。很显然这就是两个自然数幂前缀和相乘,要注意减去 q = 0 q=0 q=0 的情况。
接下来考虑另一部分,即
∑ i = 0 n i p ∑ j = 1 ⌊ a i + b m o d c c ⌋ ( j + k ) q \sum\limits_{i=0}^{n}i^p\sum\limits_{j=1}^{\lfloor\frac{ai+b ~mod~c}{c}\rfloor}(j+k)^{q} i=0∑nipj=1∑⌊cai+b mod c⌋(j+k)q,用二项式定理展开,可得:
∑ i = 0 n i p ∑ j = 1 ⌊ a i + b m o d c c ⌋ ( j + k ) q = ∑ i = 0 n i p ∑ j = 1 ⌊ a i + b m o d c c ⌋ ∑ t = 0 q C q t j t k q − t = ∑ t = 0 q C q t k q − t ∑ i = 0 n ∑ j = 1 ⌊ a i + b m o d c c ⌋ i p j t = ∑ t = 0 q C q t k q − t f ( a , b m o d c , c , n , p , t ) \sum\limits_{i=0}^{n}i^p\sum\limits_{j=1}^{\lfloor\frac{ai+b ~mod~c}{c}\rfloor}(j+k)^{q}=\sum\limits_{i=0}^{n}i^p\sum\limits_{j=1}^{\lfloor\frac{ai+b ~mod~c}{c}\rfloor}\sum\limits_{t=0}^{q}C_q^tj^tk^{q-t}=\sum\limits_{t=0}^{q}C_q^tk^{q-t}\sum\limits_{i=0}^{n}\sum\limits_{j=1}^{\lfloor\frac{ai+b ~mod~c}{c}\rfloor}i^pj^t=\sum\limits_{t=0}^{q}C_q^tk^{q-t}f(a,b~mod~c,c,n,p,t) i=0∑nipj=1∑⌊cai+b mod c⌋(j+k)q=i=0∑nip<