HDU 2841 Visible Trees -gcd+莫比乌斯
来源:互联网 发布:淘宝店铺背景音乐代码 编辑:程序博客网 时间:2024/06/05 09:38
http://bak.vjudge.net/problem/20095/origin
求的是从一个0,0点去看n*m的矩阵,有多少条不重复得线,等价于求(1,m)(1,n)有多少对数互质,莫比乌斯求一下即可
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;typedef long long ll;const ll p =1000000007;const int N=100000;bool is_prime[N+500];int prime[N+50];int mu[N+50];ll sum[N+50];ll tot;void Moblus(){ tot = 0; mu[1] = 1; for(ll i = 2; i < N; i++) { if(!is_prime[i]) { prime[tot++] = i; mu[i] = -1; } for(ll j = 0; j < tot && i*prime[j] < N; j++) { is_prime[i*prime[j]] = 1; if(i % prime[j]) { mu[i*prime[j]] = -mu[i]; } else { mu[i*prime[j]] = 0; break; } } }}//找[1,n],[1,m]内互质的数的对数ll solve(ll n,ll m ){ if (n>m)swap(n,m); ll ret=0; for (int i=1;i<=n;i++) ret+=mu[i]*(n/i)*(m/i); return ret;}int main(){ Moblus(); for (int i=1;i<N;i++) sum[i]=sum[i-1]+mu[i]; int t;cin>>t; while(t--) { ll k,a,b,c,d; scanf("%lld",&a); scanf("%lld",&b); ll ans1=solve(a,b); printf("%lld\n",ans1); } return 0;}
0 0
- HDU 2841 Visible Trees -gcd+莫比乌斯
- 【数论-莫比乌斯】hdu 2841 Visible Trees
- HDU-2841 Visible Trees (莫比乌斯反演)
- HDU 2841 Visible Trees - 莫比乌斯 /容斥原理
- 解题报告:HDU2841 Visible Trees 莫比乌斯反演
- HDU2841:Visible Trees(莫比乌斯函数)
- HDU 2841 Visible Trees
- HDU 2841 Visible Trees
- HDU 2841 Visible Trees
- hdu 2841 Visible Trees
- hdu 2841 Visible Trees&& hdu 1695 GCD(容斥定理+数论)
- hdu 1695 GCD(莫比乌斯)
- Hdu 2841 Visible Trees 容斥原理
- hdu 2841 Visible Trees(计数问题)
- hdu 2841 Visible Trees(容斥原理)
- HDU 2841 - Visible Trees (容斥原理)
- HDU 2841 Visible Trees(数论)
- hdu 2841 Visible Trees【容斥原理】
- gdb调试带参数程序
- EventBus
- GTK+ 3 for windows 开发环境搭建
- EventBus 源码解析
- Http传递json参数
- HDU 2841 Visible Trees -gcd+莫比乌斯
- stm32关于 上拉和下拉电阻
- 2067. 【2016.10.5NOIP普及模拟】zy的秘密
- oracle存储过程的动态游标的简单例子
- 彻底删除mathtype
- CCNU 2016 个人排位赛 0 (预热)
- ios 使用正则表达式的邮箱,手机号码,身份证号验证的快捷方式
- 欢迎使用CSDN-markdown编辑器
- 求职之操作系统