这个东西读完题之后,就能知道我们要逐位计算贡献.推一下式子,会发现,这一位的贡献,是当前剩余的数字形成的序列的总数,乘上所剩数字中小于s上这一位的数的个数与所剩数字的总数的比.所以我们维护“当前剩余的数字形成的序列的总数”以及权值数组的前缀和就好了.后者可以用树状数组维护,前者可以用一个变量维护.但是!!!!!模数不是质数!!!!!这就很坑爹,网上的人基本上都是把模数质因数分解后,对于每一种质因数计算一次答案,最后再crt计算答案.然而,作为一只**,我用长得像二叉堆,但是维护信息上又有点像平衡…