【题解】ABC238G 哈希 随机化
怎么全是莫队。来介绍一下官方做法。
考虑将数分解质因数后问题变成每个数有若干质因子,查询区间内每个质因子数量之和是否为三的倍数。
查询是否所有数的出现次数都为 $k$ 的倍数的一个套路,如下:
给每个数随机赋权值值 $c_i\in[0,k)$,那么 $S$ 中所有数出现次数都是 $k$ 倍数的必要不充分条件就是 $\sum_{u\in S}c_u$ 也是 $k$ 的倍数。
使用哈希的思想,随机 $B$ 组这样的 $\{c_i\}$,我们认为同时满足了这些必要不充分条件就是必要充分的。
考虑正确率,存在一个数出现次数不是 $k$ 的倍数且总和是 $k$ 的倍数的情况的概率可以近似认为一个随机的值恰好为 $k$ 倍数的概率,近似为 $\frac 1 k$,要达到 $1-\epsilon$ 的正确率只需要做 $-\log \epsilon$ 次即可。
直接维护 $B$ 个前缀和,复杂度瓶颈在因数分解。
本文已经结束了。本文作者:ღꦿ࿐(DeepSea),转载请注明原文链接:https://www.cnblogs.com/Dreamerkk/p/17970913,谢谢你的阅读或转载!