【BZOJ3837】[PA2013]Filary
【BZOJ3837】[PA2013]Filary
题面
题解
考虑到模数为2时答案至少为n2,这是我们答案的下界。
那么我们对于任意的一个数,它们答案集合中的就概率至少为12。
那么我们随机选出一个数,将这个数与其他数作差,那么将这些数分解质因数后出现次数最多的数的个数就是出现次数,而含有这个质因数的所有数的gcd就是这种情况。
因为值域≤107,所以你把每个数最小的质因子筛出来就可以做到log的分解质因数了,注意特判差为零的情况。
如果你不是太非随机十次左右就够了。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步