先算出所需亵渎个数 k k k,观察就可以发现 k = m + 1 k=m+1 k=m+1,有一个小细节,如果从 n n n开始有一段连续的空位,应该把它去掉,因为不会需要多余的亵渎。
我们计算每一次亵渎的贡献,第一次亵渎我们认为是在 0 0 0位置。显然第一次的贡献是 ∑ i = 1 n i k \sum\limits_{i=1}^{n}i^k i=1∑nik − - − 空位的贡献。
之后我们考虑在一个空位上使用亵渎,设空位为 p p p,那么有贡献的区间为 p + 1 ∼ n p+1 \sim n p+1∼n。贡献为 ∑ i = 1 n − p i k \sum\limits_{i=1}^{n-p}i^k