Description
对于
,问
的不同结果数。
Difficulty
MainAlgorithm
容斥原理
Complexity
Solution
考虑两个数的次幂得到了相同结果,
![](https://i-blog.csdnimg.cn/blog_migrate/be7f59e2ee70bf49accd549ef35f73f9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/31c448b3b51d131b6c3b61ad951636a6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f83210430a5b5e9a819d9069b8abd502.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5b2694c39dc04b5fa3d10d9bee56e343.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f49bce74f0b621eaebb39c2c263da3a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/be7f59e2ee70bf49accd549ef35f73f9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/31c448b3b51d131b6c3b61ad951636a6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b7a821c7bcf55cdb2ae5eecd100fc47c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d55f784e9c8789d14ab4be1b86170b3b.png)
则
![](https://i-blog.csdnimg.cn/blog_migrate/be7f59e2ee70bf49accd549ef35f73f9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5b2694c39dc04b5fa3d10d9bee56e343.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f49bce74f0b621eaebb39c2c263da3a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/be7f59e2ee70bf49accd549ef35f73f9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e26a5c86447313d92d6f7661e7fe974f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b7a821c7bcf55cdb2ae5eecd100fc47c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e26a5c86447313d92d6f7661e7fe974f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f83210430a5b5e9a819d9069b8abd502.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d55f784e9c8789d14ab4be1b86170b3b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/be7f59e2ee70bf49accd549ef35f73f9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f83210430a5b5e9a819d9069b8abd502.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e26a5c86447313d92d6f7661e7fe974f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f83210430a5b5e9a819d9069b8abd502.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d55f784e9c8789d14ab4be1b86170b3b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/be7f59e2ee70bf49accd549ef35f73f9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f83210430a5b5e9a819d9069b8abd502.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e26a5c86447313d92d6f7661e7fe974f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b7a821c7bcf55cdb2ae5eecd100fc47c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5b2694c39dc04b5fa3d10d9bee56e343.png)
那么
![](https://i-blog.csdnimg.cn/blog_migrate/be7f59e2ee70bf49accd549ef35f73f9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/31c448b3b51d131b6c3b61ad951636a6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f83210430a5b5e9a819d9069b8abd502.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5b2694c39dc04b5fa3d10d9bee56e343.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f49bce74f0b621eaebb39c2c263da3a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/be7f59e2ee70bf49accd549ef35f73f9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/31c448b3b51d131b6c3b61ad951636a6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b7a821c7bcf55cdb2ae5eecd100fc47c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d55f784e9c8789d14ab4be1b86170b3b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f49bce74f0b621eaebb39c2c263da3a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1740d4d76c0d3e3adcc4f97c74442a1d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/121c17e17d937e6b6d75c81d69c91136.png)
![](https://i-blog.csdnimg.cn/blog_migrate/166c505d5525391b82e1dd4c4b288b59.png)
![](https://i-blog.csdnimg.cn/blog_migrate/31c448b3b51d131b6c3b61ad951636a6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f83210430a5b5e9a819d9069b8abd502.png)
![](https://i-blog.csdnimg.cn/blog_migrate/166c505d5525391b82e1dd4c4b288b59.png)
![](https://i-blog.csdnimg.cn/blog_migrate/31c448b3b51d131b6c3b61ad951636a6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b7a821c7bcf55cdb2ae5eecd100fc47c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9c3ba973f60e9b703041caf7cbf9fc8c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/be7f59e2ee70bf49accd549ef35f73f9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5b2694c39dc04b5fa3d10d9bee56e343.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f49bce74f0b621eaebb39c2c263da3a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1740d4d76c0d3e3adcc4f97c74442a1d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/121c17e17d937e6b6d75c81d69c91136.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f83210430a5b5e9a819d9069b8abd502.png)
![](https://i-blog.csdnimg.cn/blog_migrate/302f9599f3ef8ca7c57b869735ae186e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/be7f59e2ee70bf49accd549ef35f73f9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d55f784e9c8789d14ab4be1b86170b3b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f49bce74f0b621eaebb39c2c263da3a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1740d4d76c0d3e3adcc4f97c74442a1d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/121c17e17d937e6b6d75c81d69c91136.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b7a821c7bcf55cdb2ae5eecd100fc47c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9c3ba973f60e9b703041caf7cbf9fc8c.png)
我们发现,只有有着共同的
![](https://i-blog.csdnimg.cn/blog_migrate/1740d4d76c0d3e3adcc4f97c74442a1d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1740d4d76c0d3e3adcc4f97c74442a1d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1740d4d76c0d3e3adcc4f97c74442a1d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2cfb5450e9c25550ea3c71deb4a28f5c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1740d4d76c0d3e3adcc4f97c74442a1d.png)
即
![](https://i-blog.csdnimg.cn/blog_migrate/bdf2603d56485141181e86eef0df223a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1740d4d76c0d3e3adcc4f97c74442a1d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/613bc817e4a86a59c59a36af1c0208d6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/96cf1e9486a02ab0c0d2551311f564ac.png)
![](https://i-blog.csdnimg.cn/blog_migrate/df664614bf50a1fd03e50ae6600d8be8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/65760e0d490f04685b3f3d5c62d2da60.png)
![](https://i-blog.csdnimg.cn/blog_migrate/651203fd6c5030eb04b05d165f2a1805.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0e9a6cd63c20020ea2fac8f4898f7fd6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/73c8f73ce9c9dedadfc872e1e86a7d26.png)
![](https://i-blog.csdnimg.cn/blog_migrate/302f9599f3ef8ca7c57b869735ae186e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/67e6f9c7c654bf5315258207a89eac42.png)
![](https://i-blog.csdnimg.cn/blog_migrate/dbb554bcec900c350a9e23931a2f88f1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/819a1032a2eb982b241edb99338dfd15.png)
![](https://i-blog.csdnimg.cn/blog_migrate/96ce53a08d38e0095e0581c349b912b0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/86ed4844e1bd350cd0aeed384ebc19f1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6edac50c23b43e502d2e8514e5bdc86c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/302f9599f3ef8ca7c57b869735ae186e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2dcd45c5428403e767c117ee6fbd3ac0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/651203fd6c5030eb04b05d165f2a1805.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0e9a6cd63c20020ea2fac8f4898f7fd6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/73c8f73ce9c9dedadfc872e1e86a7d26.png)
![](https://i-blog.csdnimg.cn/blog_migrate/302f9599f3ef8ca7c57b869735ae186e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3197ff3b34a712720ed5561b3e34040e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6edac50c23b43e502d2e8514e5bdc86c.png)
那么就变为
![](https://i-blog.csdnimg.cn/blog_migrate/65760e0d490f04685b3f3d5c62d2da60.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bf6d2d0107348b208b0900ee494f83d1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2dcd45c5428403e767c117ee6fbd3ac0.png)
由于不同的 x 能达到的数不同,为了方便处理,我们分别处理
![](https://i-blog.csdnimg.cn/blog_migrate/bdf2603d56485141181e86eef0df223a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8c9b413ca3b43006afafcbc56e42a48e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cd77ad93ea8501b79c572fccd47e88a2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/73c8f73ce9c9dedadfc872e1e86a7d26.png)
![](https://i-blog.csdnimg.cn/blog_migrate/96cf1e9486a02ab0c0d2551311f564ac.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bf6d2d0107348b208b0900ee494f83d1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3197ff3b34a712720ed5561b3e34040e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f75aa4e083c790e1cb2c3996f99e1e6d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8c9b413ca3b43006afafcbc56e42a48e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bf6d2d0107348b208b0900ee494f83d1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3197ff3b34a712720ed5561b3e34040e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8c9b413ca3b43006afafcbc56e42a48e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f75aa4e083c790e1cb2c3996f99e1e6d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/67e6f9c7c654bf5315258207a89eac42.png)
![](https://i-blog.csdnimg.cn/blog_migrate/dbb554bcec900c350a9e23931a2f88f1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/819a1032a2eb982b241edb99338dfd15.png)
![](https://i-blog.csdnimg.cn/blog_migrate/96ce53a08d38e0095e0581c349b912b0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/86ed4844e1bd350cd0aeed384ebc19f1.png)
注意到假如
![](https://i-blog.csdnimg.cn/blog_migrate/37face189e9d96c3e53a0ade5049c2d7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b7846634db147f54ecf559eaa83cc6f8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b7846634db147f54ecf559eaa83cc6f8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/37face189e9d96c3e53a0ade5049c2d7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8c9b413ca3b43006afafcbc56e42a48e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f75aa4e083c790e1cb2c3996f99e1e6d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/67e6f9c7c654bf5315258207a89eac42.png)
![](https://i-blog.csdnimg.cn/blog_migrate/dbb554bcec900c350a9e23931a2f88f1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/819a1032a2eb982b241edb99338dfd15.png)
![](https://i-blog.csdnimg.cn/blog_migrate/96ce53a08d38e0095e0581c349b912b0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/86ed4844e1bd350cd0aeed384ebc19f1.png)
那么通过容斥暴力把这部分算出来。
再从
![](https://i-blog.csdnimg.cn/blog_migrate/73c8f73ce9c9dedadfc872e1e86a7d26.png)
![](https://i-blog.csdnimg.cn/blog_migrate/86ed4844e1bd350cd0aeed384ebc19f1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cd77ad93ea8501b79c572fccd47e88a2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cd77ad93ea8501b79c572fccd47e88a2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/52586a5ee9f105c01098b334750c2afd.png)
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#define Rep(i, x, y) for (int i = x; i <= y; i ++)
#define Dwn(i, x, y) for (int i = x; i >= y; i --)
#define RepE(i, x) for(int i = pos[x]; i; i = g[i].nex)
using namespace std;
typedef long long LL;
const int mx = 30, M = 50;
class ThePowers {
public:
LL f[M], ans, ql, qr, u[M], uz, A, B;
int qk;
LL gcd(LL x, LL y) {
return !y ? x : gcd(y, x % y);
}
void Dfs(int x, LL lm, int o, int t) {
if (x == uz + 1) {
if (!t) return ;
LL ret = qr / lm - (ql-1) / lm;
f[qk] += ret * o;
return ;
}
Dfs(x + 1, lm * u[x] / gcd(lm, u[x]), o * (-1), t + 1);
Dfs(x + 1, lm, o, t);
}
LL find (int A0, int B0) {
A = A0, B = B0;
for (qk = 1; qk <= mx; qk ++) { // prepare to all the g^k 's k ..
Rep(i, 1, qk) {
ql = (i - 1) * B + 1, qr = i * B, uz = 0;
Rep(j, i, qk) {
bool fl = 0;
Rep(o, i + 1, j - 1) if (j % o == 0) fl = 1;
if (!fl) u[++ uz] = j;
}
Dfs(1, 1, -1, 0);
}
}
LL la = A - 1;
for (int i = 2; i * i <= A; i ++) {
int k = i, o, g0 = 0;
for (int j = 2; j * j <= k; j ++) {
o = 0;
while (k % j == 0) o ++, k /= j;
if (o) g0 = gcd(g0, o);
}
if (k > 1) g0 = 1;
if (g0 <= 1) {
int r = 1; LL k = i;
while (k * i <= A) r ++, k *= i;
ans += f[r];
la -= r;
}
}
return ans + 1 + la * B;
}
};