hdu 2841
来源:互联网 发布:netsh绑定mac 编辑:程序博客网 时间:2024/06/12 23:19
思路: 求出 x与 (1,y) 之间所有互质的数 x 范围 1 到 100000;
数论+容斥
先用欧拉函数求出 x 的素因子
考虑每一个x的因子的影响
#include<bits/stdc++.h>using namespace std;typedef __int64 LL;LL cot ;LL a[1005];void oula(LL n){ memset(a,0,sizeof(a)); cot = 0; for(LL i = 2 ; i<=sqrt(n); i++) { if(!(n%i)) { a[cot++] = i; while(!(n%i)) { n /= i; } } } if(n>1) { a[cot++]=n; }}LL rongchi(LL n){ LL temp = 0; for(LL i =1 ; i<(1<<cot); i++) { LL ans = 1; LL ct =0 ; for(LL j = 0 ; j<cot; j++) { if( i&(1<<j)) { ct++; ans = ans*a[j]; } } if(ct&1) { temp+= n/ans; } else { temp -= n/ans; } // printf("temp = %I64d\n",temp); } return n - temp ;}int main(){ int T; scanf("%d",&T); while(T--) { LL n,m; scanf("%I64d%I64d",&m,&n); if(m>n) swap(m,n); LL ans = 0; if(m==1) { printf("%I64d\n",n); continue; } for( LL i = 2; i<=m; i++) { oula(i); LL k = rongchi(n); // printf("K=%I64d\n",k); ans+=k; } printf("%I64d\n",ans+n); } return 0 ;}
0 0
- hdu 2841
- Hdu 2841
- hdu 1695 hdu 2841 容斥原理
- HDU 2841 Visible Trees
- HDU 2841 Visible Trees
- HDU 2841 Visible Trees
- hdu 2841 Visible Trees
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- 杭电ACM5543(01背包)
- 马踏棋盘图形界面版
- Java学习笔记(注释、对象初始化过程、单例模式)
- 用java语言编写进制转换
- redis 哈希表(Hash)
- hdu 2841
- Redis与Memcached的区别
- HDU 5534 Partial Tree (变形完全背包 好题)
- CodeForces 44H - Phone Number-dp
- 缓冲区溢出攻击实验(一)
- spring源码目录模块的作用
- Android开发 设计模式(二、 Factory Method(工厂方法模式))
- STM32 SIM900
- Keras 深度学习框架Python Example:CNN/mnist