拆贡献+统计非法可能不统计非法贡献:ARC150D

本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/134047357

https://atcoder.jp/contests/arc150/tasks/arc150_d

先拆贡献成每个点,然后就只需要考虑这条链上的情况了

我们现在要求的是:

  • 在所有点选完之前,最后一个点被选了多少次

我们发现这很难做,但有个性质:

  • 在所有点选完前,最后一个点始终是坏点

  • 因此我们可以钦定好点也可以选,只是不计算其贡献

而计算所有点被选的期望次数是 n1in\sum \frac 1 i ,选中最后一个点的期望次数是 1i\sum \frac 1 i

在这里插入图片描述