bzoj 2705: [SDOI2012]Longge的问题 歐拉函數
2705: [SDOI2012]Longge的问题
Time Limit: 3 Sec Memory Limit: 128 MB
Submit: 1035 Solved: 669
[Submit][Status]
Description
Input
Output
Sample Input
Sample Output
HINT
【数据范围】
对于60%的数据,0<N<=2^16。
对于100%的数据,0<N<=2^32。
Source
枚舉n的因數k,算出gcd(i,n)==k,即gcd(i/k,n/k)==1,的數個數,即phi(n/k)。
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<cmath>
#include<algorithm>
#include<set>
#include<map>
#include<vector>
#include<string>
#include<queue>
using namespace std;
#ifdef WIN32
#define LL "%I64d"
#else
#define LL "%lld"
#endif
#define MAXN 1100000
#define MAXV MAXN*2
#define MAXE MAXV*2
#define INF 0x3f3f3f3f
#define INFL 0x3f3f3f3f3f3f3f3fLL
typedef long long qword;
inline int nextInt()
{
char ch;
int x=;
bool flag=false;
do
ch=getchar(),flag=(ch=='-')?true:flag;
while(ch<''||ch>'');
do x=x*+ch-'';
while (ch=getchar(),ch<='' && ch>='');
return x*(flag?-:);
} qword n,m;
qword prime[MAXN],topp=-;
bool pflag[MAXN];
int gcd(int x,int y)
{
return (x%y==) ? y : gcd(y,x%y);
}
void init()
{
int i,j;
for (i=;i<MAXN;i++)
{
if (!pflag[i])
{
prime[++topp]=i;
}
for (j=;j<=topp && i*prime[j]<MAXN;j++)
{
pflag[i*prime[j]]=true;
if (i%prime[j]==)
{
break;
}
}
}
}
qword phi(qword x)
{
int i;
qword ret=;
for (i=;i<=topp && prime[i]*prime[i]<=x;i++)
{
if(x%prime[i]==)
{
ret*=prime[i]-;
x/=prime[i];
while (x%prime[i]==)
{
ret*=prime[i];
x/=prime[i];
}
}
}
if (x>)
{
ret*=x-;
}
return ret;
}
int main()
{
freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
qword i;
scanf("%d",&n);
qword ans1=,ans2=;
// for (i=1;i<=n;i++)
// ans1+=gcd(i,n);
// printf("%d\n",ans1);
init();
qword l=ceil(sqrt(n));
for (i=;i*i<n;i++)
{
if (n%i==)
{
ans2+=(qword)i*phi(n/i);
ans2+=(qword)(n/i)*phi(i);
}
}
if (l*l==n)
{
ans2+=(qword)(n/l)*phi(l);
}
printf(LL"\n",ans2);
return ;
}
bzoj 2705: [SDOI2012]Longge的问题 歐拉函數的更多相关文章
- BZOJ 2705: [SDOI2012]Longge的问题 [欧拉函数]
2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 2553 Solved: 1565[Submit][ ...
- Bzoj 2705: [SDOI2012]Longge的问题 欧拉函数,数论
2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 1959 Solved: 1229[Submit][ ...
- bzoj 2705 [SDOI2012]Longge的问题——欧拉函数大水题
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2705 撕逼题.不就是枚举gcd==d,求和phi[ n/d ]么. 然后预处理sqrt (n ...
- BZOJ 2705: [SDOI2012]Longge的问题
2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 2554 Solved: 1566[Submit][ ...
- BZOJ 2705: [SDOI2012]Longge的问题 GCD
2705: [SDOI2012]Longge的问题 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnl ...
- BZOJ 2705: [SDOI2012]Longge的问题( 数论 )
T了一版....是因为我找质因数的姿势不对... 考虑n的每个因数对答案的贡献. 答案就是 ∑ d * phi(n / d) (d | n) 直接枚举n的因数然后求phi就行了. 但是我们可以做的更好 ...
- [bzoj]2705: [SDOI2012]Longge的问题[数论][数学][欧拉函数][gcd]
[bzoj]P2705 OR [luogu]P2303 Longge的问题 Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需 ...
- BZOJ 2705 [SDOI2012]Longge的问题(欧拉函数)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2705 [题目大意] 求出∑gcd(i,N)(1<=i<=N) [题解] $ ...
- BZOJ.2705.[SDOI2012]Longge的问题(莫比乌斯反演 欧拉函数)
题目链接 \(Description\) 求\[\sum_{i=1}^n\gcd(i,n)\] \(Solution\) \[ \begin{aligned} \sum_{i=1}^n\gcd(i,n ...
随机推荐
- webbrowser selstart selLength
附件:http://files.cnblogs.com/xe2011/Webbrowser_SelStart.rar 1 获得webBrowser光标所在的位置 2 设置webBrowser光标的位置 ...
- Image控件播放 GIF文件
uses Vcl.Imaging.GIFImg;procedure TForm1.Button2Click(Sender: TObject);begin Image1.Picture.LoadF ...
- OPENCV中滑动条的使用
//文中存在两种不同的图像的平滑类型.一类是彩色图像,还有一类是灰度图像.经证明,两种均能够 #include<cv.h> #include<highgui.h> #inclu ...
- 非常全面的java基础笔试题
下面是java基础笔试题,当时我去笔试,做了1个小时(80道选择题,后面的简答题就没时间做了),结果很吓人,太挫了,最后被面试官忽悠去培训去了,呵呵.我偷偷把面试题弄了下来,用来学习吧,也希望能对你们 ...
- [置顶] String StringBuffer StringBuilder的区别剖析
这是一道很常见的面试题目,至少我遇到过String/StringBuffer/StringBuilder的区别:String是不可变的对象(final)类型,每一次对String对象的更改均是生成一个 ...
- Windows 下多线程编程技术
(1) 线程的创建:(主要以下2种) CWinThread* AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID lParam, int nPrio ...
- Java基础知识强化之IO流笔记33:转换流之InputStreamReader的使用
1. InputStreamReader的使用 InputStreamReader(InputStream is):用默认的编码读取数据 InputStreamReader(InputStream i ...
- http实现方式概念学习笔记
web概念:web1.0:静态页面为主,门户新闻.企业宣传web2.0:动态页面为主,用户参与,bbs,blog,sns,微博 web3.0:web2.0基础上,智能化,人性化, ...
- 转--DataTable 修改列名 删除列 调整列顺序
DataTable myDt =dt; //删除列 myDt.Columns.Remove("minArea"); myDt.Columns.Remove("maxAre ...
- Visual Studio小技巧
换了台电脑后打开解决方案后所有项目都是展开状态,每天工作的第一件事情就是把他们都折起来,感觉好麻烦. 百度了一阵子没找到相关的问题,还一度怀疑是不是我自己的VS有问题. 但是其它解决方案没有这种情况, ...