用了一种新奇的方法重温了这道题目。
学弟发来的定理很妙呦orz:
有上述定理,则问题转化为求r^2的 %4余1因子数 和 %4余3因子数。
用约数个数定理,去掉偶因子后可以求出两者之和
因此,求其中一种即可。
从%4余1的因子数下手吧
易知%4余1的因子定是由任意多个%4余1的质数和偶数个%4余3的质数相乘得来的
任意多个%4余1的质数实际上就是最大的%4余1的质数的因子数,上约数个数定理
取偶数个%4余3的质数怎么求呢?入门dp......
此题得解......
我有一个大胆的想法......要是题目给出了唯一分解的形式,那用这种方法岂不是可以O(质因子种类数)做?又是一道毒瘤题(逃)
代码:http://paste.ubuntu.com/24861434/