[题解] UVA11426 GCD - Extreme (II)
莫反是不可能莫反的,这辈子都不可能莫反了
题目要求的是
\]
稍微变个亚子
\]
考虑求\(f(n)=\sum\limits_{i=1}^{n-1} \gcd(n,i)\)
首先\(\gcd(n,i) \mid n\),考虑枚举\(\gcd\)的值
\]
\(\gcd(n,i)=d\)等价于\(\gcd(\frac{n}{d},\frac{i}{d})=1\),于是
f(n)&=\sum\limits_{d \mid n} d \sum\limits_{i=1}^{n-1} [\gcd(\frac{n}{d},\frac{i}{d})=1] \\
&=\sum\limits_{d \mid n} d \times \varphi(\frac{n}{d})
\end{aligned}
\]
特别的,\(\varphi(1)=0\)。
筛出欧拉函数,然后类似埃氏筛的枚举\(d\),更新\(d\)的倍数的\(f\)就好了。
对于\(n\),\(Ans_n=\sum\limits_{i=1}^n f(i)\),维护前缀和就好了
跑的超慢的\(Code:\) 为什么你们那么快啊...
#include <bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for (int i=(a);i<(b);i++)
#define per(i,a,b) for (int i=(a)-1;i>=(b);i--)
#define pb push_back
#define mp make_pair
#define all(x) (x).begin(),(x).end()
#define fi first
#define se second
#define SZ(x) ((int)(x).size())
typedef long long ll;
typedef double db;
typedef pair<int,int> PII;
typedef vector<int> VI;
const int maxn=4e6,N=maxn+10;
ll f[N],phi[N],vis[N];
int p[N],pn;
void getphi(int n) {
rep(i,2,n+1) {
if(!vis[i]) {
p[pn++]=i;
phi[i]=i-1;
}
for(int j=0;j<pn&&i*p[j]<=n;j++) {
vis[i*p[j]]=1;
if(i%p[j]==0) {phi[i*p[j]]=phi[i]*p[j];break;}
else phi[i*p[j]]=phi[i]*(p[j]-1);
}
}
}
void init() {
getphi(maxn);
rep(i,1,maxn+1) for(int j=i*2;j<=maxn;j+=i)
f[j]+=i*phi[j/i];
rep(i,1,maxn+1) f[i]+=f[i-1];
}
int n;
int main() {
init();
while(scanf("%d",&n)==1&&n) printf("%lld\n",f[n]);
return 0;
}
[题解] UVA11426 GCD - Extreme (II)的更多相关文章
- UVA11426 GCD - Extreme (II) (欧拉函数/莫比乌斯反演)
UVA11426 GCD - Extreme (II) 题目描述 PDF 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 10 100 200000 0 输出样例#1: 67 13 ...
- UVA11426 GCD - Extreme (II) —— 欧拉函数
题目链接:https://vjudge.net/problem/UVA-11426 题意: 求 ∑ gcd(i,j),其中 1<=i<j<=n . 题解:1. 欧拉函数的定义:满足 ...
- uva11426 GCD Extreme(II)
题意:求sum(gcd(i,j),1<=i<j<=n)1<n<4000001 思路: 1.建立递推关系,s(n)=s(n-1)+gcd(1,n)+gcd(2,n)+……+ ...
- UVA11426 GCD - Extreme (II)---欧拉函数的运用
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- 【UVa11426】GCD - Extreme (II)(莫比乌斯反演)
[UVa11426]GCD - Extreme (II)(莫比乌斯反演) 题面 Vjudge 题解 这.. 直接套路的莫比乌斯反演 我连式子都不想写了 默认推到这里把.. 然后把\(ans\)写一下 ...
- UVA 11426 GCD - Extreme (II) (欧拉函数)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Problem JGCD Extreme (II)Input: Standard ...
- UVA 11426 - GCD - Extreme (II) (数论)
UVA 11426 - GCD - Extreme (II) 题目链接 题意:给定N.求∑i<=ni=1∑j<nj=1gcd(i,j)的值. 思路:lrj白书上的例题,设f(n) = gc ...
- GCD - Extreme (II) for(i=1;i<N;i++) for(j=i+1;j<=N;j++) { G+=gcd(i,j); } 推导分析+欧拉函数
/** 题目:GCD - Extreme (II) 链接:https://vjudge.net/contest/154246#problem/O 题意: for(i=1;i<N;i++) for ...
- UVA 11426 GCD - Extreme (II) (欧拉函数)题解
思路: 虽然看到题目就想到了用欧拉函数做,但就是不知道怎么做... 当a b互质时GCD(a,b)= 1,由此我们可以推出GCD(k*a,k*b)= k.设ans[i]是1~i-1与i的GCD之和,所 ...
随机推荐
- 在spring boot中使用jasypt对配置文件中的敏感字符串加密
在spring boot的配置文件application.property(application.yml)文件中常常配置一些密码类的字符,如果用明文则很容易被盗用,可以使用jasypt在配置密码的地 ...
- IDEA中使用GsonFormat
版本:IDEA Community 2019.2.2 说明:GsonFormat是一个可以直接将Json对象转化为Java类的插件 流程:安装GsonFormat插件=>新建一个空类Book=& ...
- KNN-学习笔记
仅供学习使用 练习1 # coding:utf-8 # 2019/10/16 16:49 # huihui # ref: import numpy as np from sklearn import ...
- 企业面试问题收集-ssh框架
SSH框架阶段 SSH的优缺点,使用场景? Hibernate优缺点 Hibernate优点:(1) 对象/关系数据库映射(ORM)它使用时只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,完全 ...
- springboot#下载文件
膜拜大神 这就是我要的滑板鞋! @RequestMapping(value = "/media", method = RequestMethod.GET) public Respo ...
- git 常用命令记录 -- 快捷&备忘
1.安装 略2.git拉取远程分支 git config user.name git config user.email git config --global user.name xxxx git ...
- 6(计算机网络) 交换机与VLAN
拓扑结构是怎么形成的? 我们常见到的办公室大多是一排排的桌子,每个桌子都有网口,一排十几个座位就有十几个网口,一个楼层就会有几十个甚至上百个网口.如果算上所有楼层,这个场景自然比你宿舍里的复杂多了.具 ...
- SELinux永久关闭
目录 SELinux永久关闭 参考 SELinux三种模式 永久关闭方法 SELinux永久关闭
- IDEA导入项目后,导入artifacts 方法 以及 Spring的配置文件找不到的解决方法
我们一般选择 open 项目,如果没有artifacts 的添加选项,我们就要选择 import 项目. 如果没有artifacts ,项目下面会有错误提示,点击错误提示Fix,设置里面导入artif ...
- linux----Nginx能做什么
linux----Nginx能做什么 标签: nginx负载均衡代理服务器 2017-04-01 14:15 588人阅读 评论(0) 收藏 举报 .embody{ padding:10px 10px ...