1 条题解
-
0
自动搬运
来自洛谷,原作者为

s_r_f
这里是一个只会背板和fst的蒟蒻搬运于
2025-08-24 22:23:26,当前版本为作者最后更新于2020-08-07 12:42:58,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
一个垃圾做法
考虑建出一张有向图 有边当且仅当存在一个正整数使得和在模意义下同余然后在图上计算答案
Part1:建图
subtask1:模数为奇质数
模意义下存在原根设为
那么每个都可以表示成
考虑求出一个数的指标和的的值
显然为满足 模之后为的最大的数
枚举每个质因数求它的次数这个工作就可以在 的时间内完成
那么 存在当且仅当
这样就可以 是否存在边了
subtask2:模数为奇质数的次幂
模意义下也存在原根
不难发现我们可以用同样的方法求出所有但是这回一个数可能会是的倍数我们记的因数分解中存在的的个数为
这次我们怎么 是否可以连边呢
首先如果那么就直接用上一个的做法即可
如果有一个而另一个那么边不存在
如果那么我们可以直接计算出可能使的数字然后直接快速幂解决
那么就可以的复杂度内是否存在边了
如果害怕飞的话可以求出原根用光速幂不过实际情况下也能过
Part2:计算答案
建出图之后我们考虑怎么计算答案
考虑一个对答案的贡献
有一个想法是在答案中存在的条件为当且仅当没有任何数能够表示出它记这些数的个数为那么对答案的贡献就是
但是这样做忽略了环的情况只能获得
举个例子如果图中存在边如果按照这种算法计算出来的答案就是而正确答案是
那么这个问题怎么解决呢
不难发现如果有一个强联通分量 内部的所有点必然是能两两连边的所以我们可以给一个强联通分量内的点强制一个顺序就可以正确的计算出答案了
代码 见云剪贴板
Bonus:如何解决
首先求出用分解质因数并爆搜出的因子
对于的的贡献
可以直接暴力解决其中为的质因数个数
对于的数字
首先用的复杂度算出这个数的指标
然后以这些因子为下标运行狄利克雷前缀和即可
复杂度
代码 见云剪贴板
- 1
信息
- ID
- 5793
- 时间
- 2000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者