bzoj4173(欧拉函数)
2016-08-24 15:35
183 查看
数据大:10^15次方
公式复杂:不知道怎么化简
然后,感觉满足打表找规律,发现sigema phi【k】 k属于s(n,m)==n*m。。。。。。。。。。。。
再求两个phi就好,注意在括号里面mod之后,需要在括号外面再mod一次,否则会wa。。。
标准证明:
#include<cstdio> #include<cstring> #include<cmath> #include<cstdlib> #include<algorithm> #include<bitset> using namespace std; typedef long long ll; const ll mod=998244353; ll phi(ll n) { ll ans=n,sq=(ll)sqrt(n); for (int i=2;i<=sq;i++) if (n%i==0) { ans=ans/i*(i-1); while (n%i==0) n=n/i; } if (n>1) ans=ans/n*(n-1); return ans%mod; } ll n,m; int main() { int x; scanf("%lld%lld",&n,&m); ll ans=phi(n)*phi(m)%mod*(n%mod)%mod*(m%mod)%mod;//这里mod要强烈注意,里面mod,外面也要mod!!!!! printf("%lld",ans); return 0; }
总结
1:很多的问题,通过小范围数据打表,是非常便于帮助分析题目的性质的,有的时候还可以发现潜在的规律。
2:mod的情况需要特别注意,很多情况在括号里面mod之后,外面也要mod
相关文章推荐
- bzoj4173 -- 欧拉函数
- 【BZOJ4173】数学 欧拉函数神题
- BZOJ 4173: 数学 欧拉函数
- 【BZOJ-4173】数学 欧拉函数 + 关于余数的变换
- 【欧拉函数】BZOJ4173-数学
- BZOJ-4173 数学 欧拉函数+关于余数的变换
- bzoj 4173: 数学 欧拉函数
- bzoj 2705: [SDOI2012]Longge的问题 【欧拉函数求GCD】
- 【欧拉函数+线性筛】bzoj2818: Gcd
- [BZOJ2705] [SDOI2012] Longge的问题 - 欧拉函数
- bzoj 4173 打表???
- 【bzoj2186】[Sdoi2008]沙拉公主的困惑 欧拉函数
- bzoj2818 Gcd(欧拉函数前缀和)
- bzoj 2705: [SDOI2012]Longge的问题 欧拉函数
- 【bzoj3884】上帝与集合的正确用法 欧拉函数+欧拉定理
- BZOJ2705 [SDOI2012]Longge的问题 【欧拉函数】
- BZOJ 4815 [Cqoi2017]小Q的表格 ——欧拉函数
- [BZOJ4173]数学(数论)
- bzoj 2226: [Spoj 5971] LCMSum线性筛欧拉函数
- [BZOJ 2818] gcd · 欧拉函数