[POJ2773]:Happy 2006
2024-10-15 09:40:11
同样是欧拉函数的基本应用。
$\phi (N)$表示$[1,N]$中,$gcd(i,N)==1$的数的个数,同理,其也能表示$[K \times N+1,(K+1) \times N]$中$gcd(i,N)==1$的数的个数,所有这样就能把区间固定下来,然后对于固定的区间扫一遍就行了。
//POJ 2773 //by Cydiater //2016.10.8 #include <iostream> #include <iomanip> #include <cstring> #include <queue> #include <map> #include <ctime> #include <cmath> #include <string> #include <algorithm> #include <cstdio> #include <cstdlib> using namespace std; #define ll long long #define up(i,j,n) for(ll i=j;i<=n;i++) #define down(i,j,n) for(ll i=j;i>=n;i--) const int MAXN=1e6+5; const int LIM=1e6; const int oo=0x3f3f3f3f; inline ll read(){ char ch=getchar();ll x=0,f=1; while(ch>'9'||ch<'0'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } ll phi[MAXN],cnt=0,prime[MAXN],N,K,leftt,rightt; bool vis[MAXN]; namespace solution{ inline ll gcd(ll a,ll b){return b==0?a:gcd(b,a%b);} void pret(){ phi[1]=1; memset(vis,0,sizeof(vis)); up(i,2,LIM){ if(!vis[i]){prime[++cnt]=i;phi[i]=i-1;} up(j,1,cnt){ if(prime[j]*i>LIM)break; vis[prime[j]*i]=1; if(i%prime[j]==0){ phi[i*prime[j]]=phi[i]*prime[j]; break; }else phi[i*prime[j]]=phi[i]*phi[prime[j]]; } } } void slove(){ ll PHI=phi[N],tol=0; leftt=(K-1)/PHI*N+1;rightt=leftt+N-1; K-=(K-1)/PHI*PHI; up(i,leftt,rightt){ if(gcd(i,N)==1)tol++; if(tol==K){ printf("%lld\n",i); return; } } } } int main(){ //freopen("input.in","r",stdin); using namespace solution; pret(); while(scanf("%lld %lld",&N,&K)!=EOF)slove(); return 0; }
最新文章
- Java 解决约瑟夫问题
- 教你实践ASP.NET Core Authorization
- .NET 扩展方法 (二)
- PowerDesigner 学习笔记
- OC面向对象—多态
- MySQL联合查询语法内联、左联、右联、全联
- ECstore报表不显示解决
- Java中日期时间API小结
- 计算球体积,hdu-2002
- 核心J2EE模式 - 截取过滤器
- [HNOI2007]紧急疏散EVACUATE (湖南2007年省选)
- 【Windows 10 应用开发】使用x:Bind标记动态获得计算结果
- 背景重复样式background-repeat
- webpack 1.x 配合npm scripts管理多站点
- Caffe源码理解3:Layer基类与template method设计模式
- Myeclipse在debug模式下没加断点程序卡住,start模式下可以正常启动
- SSM框架-初学Mybatis框架
- JavaScript中的let和const
- (贪心部分背包问题)Saving HDU HDU2111
- 解决Maven build 慢的问题
热门文章
- jQuery学习笔记(四):attr()与prop()的区别
- 用c#操作Mongodb(附demo)
- 替罪羊树模板(BZOJ1056/1862)
- [转]run for a girl
- chgrp 简明笔记
- Bete冲刺第六阶段
- 给li设置float浮动属性之后,无法撑开外层ul的问题。(原址:http://www.cnblogs.com/cielzhao/p/5781462.html)
- android 之 surfaceView和普通View的重绘使用
- jquery-jsrender使用
- 纯css控制-表格表头固定,内容多时滚动内容