小豆喜欢玩游戏,现在他在玩一个游戏遇到这样的场面,每个怪的血量为\(a_i\)​,且每个怪物血量均不相同,小豆手里有无限张“亵渎”。亵渎的效果是对所有的怪造成\(1\)点伤害,如果有怪死亡,则再次施放该法术。我们认为血量为\(0\)怪物死亡。

小豆使用一张 “亵渎”会获得一定的分数,分数计算如下,在使用一张“亵渎”之后,每一个被亵渎造成伤害的怪会产生\(x^k\),其中\(x\)是造成伤害前怪的血量为\(x\)和需要杀死所有怪物所需的“亵渎”的张数\(k\)。

对于\(100\%\)的数据,有\(m\leq50,n\leq10^{13}\)

大概意思是每一次使用亵渎都会得到\(\sum\limits_{i=1,i\in monster}^{n}hp(i)^k\)的贡献,其中\(k=m+1-\)结尾空位

我们发现暴力复杂度瓶颈在于求\(\sum\limits_{i=1}^{n}i^k\)这么个东西

然而它是一个\(k+1\)次多项式(我才懒得证),我们选\(k+2\)个点拉格朗日插值就好了

每次插值求出\(\sum\limits_{i=1}^{n}i^k\),再暴力把后面的空位置的贡献删去就好了

05-18 02:20