比如有这么一题:
给定整数NNN,求 1≤x,y≤N1 \leq x,y \leq N1≤x,y≤N 且gcd(x,y)\gcd(x,y)gcd(x,y) 为素数的数对 (x,y)(x,y)(x,y) 有多少对.
根据套路,此题为
到这里都差不多,但是按照套路应该是直接开始反演。但是发现题目就是统计互质数对个数。
所以就变成了
然后线筛欧拉函数,然后求前缀和,然后枚举素数,然后似乎可以O(n)O(n)O(n)完成此题?
所以这和直接反演哪个好啊,哪个通用