CF1205E Expected Value Again
题意:字符集大小为
答案对
一个更简单的相关问题 :
个数的期望
从每个字符串出发考虑较为困难,不妨从每个
众所周知
不难发现,存在长度为
回到原问题
“
可以改而计算字符串的“
若一个字符串同时存在周期
考虑如何快速计算等价类个数:
先解决
连出
① 若
,这说明每个等价类 都有出边 。不难发现由于 ,恰好形成一个大环。 ② 若
,不妨设 ,此时只有 是有出边的,所以 是无出边的。 上面提到,完整的图是一个大环,现在断掉了若干条边,则是一些链的集合。
等价类个数
点数 边数,即 。
当
若
,则等价类个数为 (其实就是弱周期引理) 若
,记 ,记 为一个子问题。 转化为
个 ,以及 个 。 若
,则 ,此时每个子问题都为 ② 类,则总贡献为 。 否则,若
,则子问题 为 ① 类,贡献为 。 子问题
为 ② 类,贡献为 。 总贡献即为
。
综上,等价类个数可以写成统一的形式
则有:
分三部分计算:
根据
- Part1
- Part2
记
有
相当于将方形截去一个角(实际上总是只剩一个角),不难
枚举
- Part3
将
枚举
对于一个确定的
相当于枚举
由于
(实际上,方形截角总是容易计算的)
这类修改不难用差分实现。
复杂度即为