博客
关于我
hdu6434 Problem I. Count(数论)(好题)
阅读量:383 次
发布时间:2019-03-05

本文共 1325 字,大约阅读时间需要 4 分钟。


Problem Description
Multiple query, for each n, you need to get
n i-1
∑ ∑ [gcd(i + j, i - j) = 1]
i=1 j=1

Input
On the first line, there is a positive integer T, which describe the number of queries. Next there are T lines, each line give a positive integer n, as mentioned above.
T<=1e5, n<=2e7

Output
Your output should include T lines, for each line, output the answer for the corre- sponding n.

Sample Input
4
978
438
233
666

Sample Output
194041
38951
11065
89963

Source
2018 Multi-University Training Contest 10
思路:在这里插入图片描述
变换差不多就是这样,于是对于每一个i就变成了求2i的欧拉函数除2了,求一下前缀和就行。

#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=2e7+5;ll euler[N<<1],sum[N],prim[N<<1];void get_euler(int n){    //欧拉函数    memset(euler, 0, sizeof euler);  euler[1] = 1;  int id = 0;  for(int i = 2; i < n; ++i) {       if(!euler[i]) {         euler[i] = i - 1;      prim[id++] = i;    }    for(int j = 0; j < id && prim[j]*i <n; ++j) {         if(i % prim[j]) {           euler[i*prim[j]] = euler[i] * (prim[j]-1);      } else {           euler[i*prim[j]] = euler[i] * prim[j];        break;      }    }  }}int main(){       int n,T;    get_euler(N<<1);    sum[1]=0;    for(int i=2;i<=N;++i) sum[i]=euler[2*i]/2,sum[i]+=sum[i-1];    scanf("%d",&T);    while(T--)    {           scanf("%d",&n);        printf("%lld\n",sum[n]);    }}

转载地址:http://sqewz.baihongyu.com/

你可能感兴趣的文章
【故障公告】升级阿里云 RDS SQL Server 实例故障经过
查看>>
蹒跚来迟:新版博客后台上线公测
查看>>
[网站公告]11月26日00:00-04:00阿里云RDS升级
查看>>
[网站公告]又拍云API故障造成图片无法上传(已恢复)
查看>>
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了
查看>>
上周热点回顾(6.9-6.15)
查看>>
.NET跨平台之旅:借助ASP.NET 5 Beta5的新特性显示CLR与操作系统信息
查看>>
上周热点回顾(7.27-8.2)
查看>>
上周热点回顾(5.9-5.15)
查看>>
上周热点回顾(1.16-1.22)
查看>>
上周热点回顾(1.23-1.29)
查看>>
云计算之路-阿里云上:14:20-14:55博客后台2台服务器都CPU 100%引发的故障
查看>>
上周热点回顾(2.19-2.25)
查看>>
云计算之路-阿里云上:博客web服务器轮番CPU 100%
查看>>
【故障公告】10:30-10:45 左右 docker swarm 集群节点问题引发故障
查看>>
惊闻NBC在奥运后放弃使用Silverlight
查看>>
IE下尚未实现错误的原因
查看>>
创建自己的Docker基础镜像
查看>>
Python 简明教程 --- 20,Python 类中的属性与方法
查看>>
工作动态尽在掌握 - 使用 CODING 度量团队效能
查看>>