Bzoj2190:[SDOI2008]仪仗队:欧拉函数

来源:互联网 发布:mac怎么关闭访客模式 编辑:程序博客网 时间:2024/05/22 07:45

题目链接:2190:[SDOI2008]仪仗队

在网格图中,两个不同点之间如果没有其他点当且仅当这两个点的横纵坐标差的绝对值互质

那么这道题我们每加一层点就加一个欧拉函数的值即可,水得不行QwQ

#include<cstdio>#include<algorithm>#define LL long longusing namespace std;const int maxn=40010;int n,p[maxn];void phi_table(int N){p[1]=1;for (int i=2;i<=N;++i)    if (!p[i])        for (int j=i;j<=n;j+=i){if (!p[j]) p[j]=j;p[j]=p[j]/i*(i-1);        }}int main(){scanf("%d",&n);phi_table(n); LL ans=0;for (int i=1;i<=n-1;++i)     ans=ans+p[i];ans=ans*2+1;printf("%lld",ans);}



3 0
原创粉丝点击