初等数论|HDU - 5528(Count a × b )数论综合+公式推导

(题意还是很好理解的,这里就不再赘述,感觉这个题的知识量还是比较大的,比赛时看到那两个函数,以为是个简单的莫比乌斯反演,仔细读完题之后才发现不是。之后又推了一会,直接放弃了。
比赛结束后又花了不少时间研究公式的推导。)
下面是公式的推导:
初等数论|HDU - 5528(Count a × b )数论综合+公式推导
文章图片

初等数论|HDU - 5528(Count a × b )数论综合+公式推导
文章图片

初等数论|HDU - 5528(Count a × b )数论综合+公式推导
文章图片

附代码:
#include #include #include #include #include #include #include #include #include #include #include #include #include #define clr(str,x) memset(str,x,sizeof(str)) #define FRER() freopen("in.txt","r",stdin); #define FREW() freopen("out.txt","w",stdout); #define INF 0x3f3f3f3f #define maxn 100010typedef long long int ll; using namespace std; bool vis[maxn]; ll prime[maxn]; int num=0; ll n; void init_prime() { memset(vis,false,sizeof(vis)); for(ll i=2; i

【初等数论|HDU - 5528(Count a × b )数论综合+公式推导】

    推荐阅读