formula

对原序列 a i {a_i} ai做一个差分,即 b i = a i − a i − 1 b_i=a_i-a_{i-1} bi=aiai1,得到b序列。
一个b序列对答案的贡献为 N − ∑ i = 1 k − 1 b i N-\sum_{i=1}^{k-1}b_i Ni=1k1bi
有多少个这样的序列呢?因为每个 b i b_i bi的取值范围为1~m。所以,一共有 m k − 1 m^{k-1} mk1个。
所有的b序列对答案的贡献为:
a n s = ∑ b 1 = 1 m ∑ b 2 = 1 m ⋯ ∑ b k − 1 = 1 m ( N − ∑ i = 1 k − 1 b i ) = m k − 1 ∗ N − m k − 2 ∗ ( k − 1 ) ∗ ( m + 1 ) ∗ m / 2 ans=\sum_{b_1=1}^m\sum_{b_2=1}^m\dots \sum_{b_{k-1}=1}^m(N-\sum_{i=1}^{k-1}b_i)=m^{k-1}*N-m^{k-2}*(k-1)*(m+1)*m/2 ans=b1=1mb2=1mbk1=1m(Ni=1k1bi)=mk1Nmk2(k1)(m+1)m/2

你可能感兴趣的:(数学)