[关闭]
@yang12138 2018-08-30T21:04:55.000000Z 字数 739 阅读 971

的所有

未分类


题意:
给定,且是质数,求所有满足.

1、原根
对一个质数来说,如果正整数满足两两不同,那么称是模的一个原根。
质数的最小原根通常都比较小,所以可以通过枚举来计算。
详细的说,枚举一个数,然后枚举的所有质因子,如果均不为,那么就是模的一个原根。

2、离散对数
已知,且是质数,求解满足,这种问题被称为离散对数问题。
,那么可以被表示成,其中,也就是,等价于。那么可以将全部的放入哈希表,然后枚举来求解。

在此题,可以先求出的最小原根,根据原根的定义可知互不相同,也就是和一一对应,设原题的(这里求解需要用上面介绍的离散对数),那么要求的是,等价于,用扩展欧几里得算法求出其中一个解(或者判断无解),然后再拓展出其他解即可。

原题链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1038

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注