JZOJ 1349. 最大公约数 (Standard IO)
来源:互联网 发布:软件 预研报告 编辑:程序博客网 时间:2024/06/10 10:56
1349. 最大公约数 (Standard IO)
Time Limits: 1000 ms Memory Limits: 65536 KB
Description
小菜的妹妹小诗就要读小学了!正所谓计算机要从娃娃抓起,小菜决定在幼儿园最后一段轻松的时间里教妹妹编程。
小菜刚教完gcd即最大公约数以后,一知半解的妹妹写了如下一段代码:
sum:=0;
for i:=1 to n-1 do
for j:=i+1 to n do sum:=sum+gcd(i,j)
显然这个程序的效率是很低的,小明打算写一个更强的程序,在求出sum的同时比妹妹跑的更快。
Input
第一行一个整数t,即表示有t组数据
接下来t行,每行一个整数n
Output
t行,每行一个整数,表示n所对应的sum值
Sample Input
2
10
100
Sample Output
67
13015
Data Constraint
Hint
【数据规模】
20%数据t≤100,n≤100
40%数据t≤1000,n≤2000
100%数据t≤10000,n≤1000000
题解
看到了
对这道题我们要求的是
固定
因此,答案就是
用前缀和优化一下
记
代码
#include<cstdio>#define M 80000#define N 1000010#define max(a,b) (((a)>(b))?(a):(b))long a[N],p[M],phi[N],t;long long ans[N];bool b[N];int main(){ long tot,n,i,j,k,maxx=0; scanf("%ld",&tot); for(i=1;i<=tot;i++){ scanf("%ld",&a[i]); maxx=max(maxx,a[i]); } n=maxx; phi[1]=1; for(i=2;i<=n;i++){ if(!b[i]){ phi[i]=i-1; p[++t]=i; } for(j=1;j<=t&&i*p[j]<=n;j++){ b[i*p[j]]=true; if(i%p[j]==0){ phi[i*p[j]]=phi[i]*p[j]; break; }else phi[i*p[j]]=phi[i]*(p[j]-1); } } for(i=2;i<=n;i++) for(j=1;j<=n/i;j++) ans[i*j]+=phi[i]*j; for(i=2;i<=n;i++) ans[i]+=ans[i-1]; for(k=1;k<=tot;k++) printf("%lld\n",ans[a[k]]); return 0;}
阅读全文
0 0
- JZOJ 1349. 最大公约数 (Standard IO)
- JZOJ 1774. 合并果子 (Standard IO)
- JZOJ 1775. 合并果子2 (Standard IO)
- JZOJ 1776. 经济编码 (Standard IO)
- JZOJ 1736. 扑克游戏 (Standard IO)
- JZOJ 5258. 友好数对 (Standard IO)
- JZOJ 5326. LCA 的统计 (Standard IO)
- jzoj P2203 遗忘口令 (Standard IO)
- jzoj. 1349. 最大公约数
- jzoj 1676. 【USACO】iCow播放器 (Standard IO)
- jzoj 1677. 【USACO】山峰暸望 (Standard IO)
- JZOJ 5257. 小X的佛光 (Standard IO)
- JZOJ 5286. 【NOIP2017提高A组模拟8.16】花花的森林 (Standard IO)
- JZOJ 5305. 【NOIP2017提高A组模拟8.18】C (Standard IO)
- JZOJ 5307. 【NOIP2017提高A组模拟8.18】偷窃 (Standard IO)
- Window (Standard IO)
- Party (Standard IO)
- 1326. Window (Standard IO)
- leetcode 44. Wildcard Matching
- 2011 Heilongjiang collegiate programming contest训练总结【10/10】
- 由String index out of range: -1引发的思考
- NLTK读书笔记 — 分类与标注
- 适配器模式(Adapter):类适配器、对象适配器
- JZOJ 1349. 最大公约数 (Standard IO)
- win10自带的输入法繁体问题
- 关于Activity的生命周期理解
- javafx tableview表格选中行事件
- 极光推送>>java SDK服务端集成后台项目
- Python中的结构分析pivot_table
- 1155: 字符串比较 多实例
- optee 中静态memory的管理
- js网页通用定时器