bzoj 4173 打表???
来源:互联网 发布:淘宝网御龙在天激活码 编辑:程序博客网 时间:2024/05/22 17:33
没有任何思路,打表发现ans=phi(n)*phi(m)*n*m
%%% popoqqq Orz
然而并没有看懂……
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#define mod 998244353llusing namespace std;long long getphi(long long x){ long long ans=x; for(long long i=2;i*i<=x;i++) if(x%i==0){ ans/=i;ans*=i-1; while(x%i==0)x/=i; } if(x!=1){ans/=x;ans*=x-1;} return ans;}int main(){ long long n,m,x,y,ans=1; scanf("%lld%lld",&n,&m); x=getphi(n)%mod; y=getphi(m)%mod; n%=mod; m%=mod; ans=n;ans=(ans*m)%mod; ans=(ans*x)%mod;ans=(ans*y)%mod; printf("%lld\n",ans); return 0;}
附打表程序
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#define N 500using namespace std;int phi[N],prime[N],tot;bool bo[N];void init(){ phi[1]=1; for(int i=2;i<=N;i++){ if(!bo[i]){ prime[++tot]=i; phi[i]=i-1; } for(int j=1;j<=tot&&i*prime[j]<=N;j++){ bo[i*prime[j]]=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 work(int x,int y){ int cnt=0; printf("phi[%d]==%d phi[%d]==%d\n",x,phi[x],y,phi[y]); for(int i=2;i<=x+y;i++) if(x%i+y%i>=i){ printf("phi[%d]==%d\n",i,phi[i]); cnt+=phi[i]; } printf("%d %d %d %d ans==%d\n",x,y,phi[x],phi[y],phi[x]*phi[y]*cnt);}int main(){ int x,y; init(); while(scanf("%d%d",&x,&y)==2) work(x,y);}
阅读全文
0 0
- bzoj 4173 打表???
- bzoj 1002 轮状病毒 打表
- BZOJ 3758 数数 分块打表
- BZOJ 3758 数数 分段打表
- bzoj 3758: 数数 分块打表
- bzoj 1019: [SHOI2008]汉诺塔(打表)
- bzoj 1207 打鼹鼠
- bzoj 5045: 打砖块
- 【BZOJ】【P2659】【Beijing wc2012】【算不出的算式】【题解】【打表】
- BZOJ 3798 特殊的质数 分块打表
- BZOJ 3798: 特殊的质数 分块打表
- BZOJ 3798: 特殊的质数 (分块打表
- bzoj 3798: 特殊的质数(分块打表)
- bzoj 1207 [HNOI2004]打鼹鼠
- BZOJ 1207: [HNOI2004]打鼹鼠
- BZOJ 2241: [SDOI2011]打地鼠
- BZOJ 2241【SDOI2011】打地鼠
- BZOJ 1207.[HNOI2004]打鼹鼠
- 大白话讲解ThreadLocal的原理
- POJ 2355 Railway tickets 线性DP
- 如何调试神经网络参数
- 二 套接字
- 网易2018校招Java开发工程师笔试卷 String.substring(2,5)的输出结果为
- bzoj 4173 打表???
- 有趣的数 【南阳oj 题目85】
- vue组件学习5(tab切换)
- View事件分发机制
- 爬虫基础知识
- 抽象类和接口联系与区别
- 配置es6编辑环境遇到的问题。
- 多线程经典问题:馒头问题 生产和消费问题(线程的通信问题)
- C语言入门:字符串排序