不管你认不认识竭泽,都给你重新介绍一下
竭泽,当代水平最底层的退役acmer,擅长出毒瘤题面签到题恶心选手,十恶不赦,大逆不道
可以给大家体会体会
所以,当云哥邀请竭泽的时候,竭泽心里当然是打起了小算盘,开始整活,再出一个题面恶心的签到题
题目:
竭泽十分喜欢数论,并且在莫比乌斯反演点了很多奇怪的技能点
const int maxn=1e6+5;
bool vis[maxn];
int prime[maxn],mu[maxn];
void init_mu(int n){//init_mu(n) 就可得到1-n的莫比乌斯函数的值,存在mu中
int cnt=0;
mu[1]=1;
for(int i=2;i<n;i++){
if(!vis[i]){
prime[cnt++]=i;
mu[i]=-1;
}
for(int j=0;j<cnt&&i*prime[j]<n;j++){
vis[i*prime[j]]=1;
if(i%prime[j]==0) {mu[i*prime[j]]=0;break;}
else { mu[i*prime[j]]=-mu[i];}
}
}
}
使用这个函数之后
第一行一个整数T
接下来T行数字每一行一个整数n
输出答案 并对1e9+7取模