HDU 4135-Co-prime(容斥原理)
来源:互联网 发布:淘宝帐号怎么注销 编辑:程序博客网 时间:2024/06/16 06:23
题目链接:传送门
题意:求区间[a,b]内与n互质的数的个数。
思路:用容斥求出[1-b]与n互质的个数—[1-(a-1)]内与n互质的个数。
#include <algorithm>#include <iostream>#include <cstring>#include <cstdlib>#include <string>#include <cctype>#include <vector>#include <cstdio>#include <cmath>#include <queue>#include <stack>#include <map>#include <set>#define maxn 360#define _ll __int64#define ll long long#define INF 0x3f3f3f3f#define Mod 1000000007#define pp pair<int,int>#define ull unsigned long long#define max(x,y) ( ((x) > (y)) ? (x) : (y) )#define min(x,y) ( ((x) > (y)) ? (y) : (x) )using namespace std;_ll fac[maxn],tot,A,B,N,ans;void div(int x){tot=0;for(_ll i=2;i*i<=x;i++){if(x&&x%i==0){fac[tot++]=i;while(x&&x%i==0)x/=i;}}if(x>1)fac[tot++]=x;}void dfs(_ll num,_ll s,_ll r,_ll n){if(num==tot){if(s&1)ans-=n/r;else ans+=n/r;return ;}dfs(num+1,s,r,n);dfs(num+1,s+1,r*fac[num],n);}int cas=1;void solve(){div(N);ans=0;dfs(0,0,1,B);_ll ans_1_b=ans;ans=0;dfs(0,0,1,A-1);_ll ans_1_a=ans;printf("Case #%d: %I64d\n",cas++,ans_1_b-ans_1_a);}int main(){int T;scanf("%d",&T);while(T--){scanf("%I64d%I64d%I64d",&A,&B,&N);solve();}return 0;}
1 0
- [容斥原理] hdu 4135 Co-prime
- 【HDU】4135 Co-prime 容斥原理
- hdu 4135 Co-prime(容斥原理)
- hdu 4135 Co-prime 容斥原理
- hdu 4135 Co-prime【容斥原理】
- hdu 4135 Co-prime (容斥原理)
- 【容斥原理】HDU 4135 Co-prime
- HDU 4135 Co-prime (容斥原理)
- hdu 4135 Co-prime(容斥原理)
- hdu 4135 Co-prime 容斥原理
- hdu 4135 Co-prime 容斥原理
- HDU 4135 Co-prime(容斥原理)
- HDU 4135 Co-prime(容斥原理)
- HDU 4135 Co-prime 容斥原理
- hdu 4135 Co-prime(容斥原理)
- hdu 4135 Co-prime(容斥原理)
- [HDU 4135]Co-prime:容斥原理
- 容斥原理:HDU-4135Co-prime
- 第十四周项目二(3)从文件读取成绩,并输出成绩单
- NVMain运行机制深入了解之四
- 变量命名规则
- Java---01---初识
- Split touch events
- HDU 4135-Co-prime(容斥原理)
- 成为一个懒惰的程序员
- 人生就像五谷杂粮酿造的酒,不同的人有不一样的感觉
- mac 下git命令自动补全设置
- erlang iolist
- EF-实体对象建立Dome
- 【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件
- effective c++ 条款03 整理
- UVA 111