这道题目就是因为对数论容斥不熟悉导致的。。。之前也做到过
看这篇题解
首先这篇题解用到了一个很大的纲领:公约数是最大公约数的约数
然后看下\(g_k\)怎么求:由于\(g_k\)表示的是\(k|gcd(a_i,a_j)\)的对数,相当于\(k\)是\(a_i,a_j\)的公约数,所以我们把数组中\(k\)的倍数全部标出来,统计总共的个数,然后从这些里面随便选两个(组合数)就好了
像“Small GCD”这道题目一样,离散的结构可以考虑数论容斥呀
标签:数论,题解,容斥,Rhyme,公约数,Counting From: https://www.cnblogs.com/dingxingdi/p/18088074