开始一直T,原来是没有srand- CODE #include<bits/stdc++.h> using namespace std; typedef long long LL; vector<LL>arr; inline LL multi(LL a, LL b, LL p) { LL re = a * b - (LL)((long double) a / p * b + 1e-8) * p; return re < 0 ? re + p : re; } LL gcd(LL…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2818 枚举最大公约数,对于每一个质数p,只需要求出1<=x,y<=(n/p)范围内gcd(x,y)=1的对数,而这个对数就是类似欧拉函数的一个前缀和. #include<cstdio> #include<cstring> using namespace std; ; bool check[maxn]; int prime[maxn]; long long phi…
思路: 递推出来欧拉函数 搞个前缀和 sum[n-1]*2+3就是答案 假设仪仗队是从零开始的 视线能看见的地方就是gcd(x,y)=1的地方 倒过来一样 刨掉(1,1) 就是ans*2+1 再加一下第零行第零列的两个 就是结果了 //By SiriusRen #include <cstdio> using namespace std; #define N 40005 int n,prime[N],vis[N],phi[N],tot; long long ans; int main(){ sc…