hdu2841(容斥原理)
来源:互联网 发布:新三板最新数据 编辑:程序博客网 时间:2024/05/16 07:27
http://acm.hdu.edu.cn/showproblem.php?pid=2841
参考:http://www.cnblogs.com/kane0526/archive/2013/03/14/2795446.html
#include <iostream>#include <stdio.h>#include <string.h>#include <vector>#include <queue>#include <math.h>#include <algorithm>using namespace std;#define N 100005long long q[N];vector<int>vt[N];void init(){ for(int i=0;i<N;i++) vt[i].clear(); for(int i=2;i<N;i++){ int t=i; for(int j=2;j*j<=i;j++) if(t%j==0){ vt[i].push_back(j); while(t%j==0) t/=j; }//for_j if(t>1) vt[i].push_back(t); }//for_i}//initlong long cal(int n,int s){ int num=0; q[num++]=1; for(int i=0;i<vt[s].size();i++){ int ep=vt[s][i]; if(ep>n) break; int k=num; for(int j=0;j<k;j++) q[num++]=q[j]*ep*(-1); } long long sum=0; for(int i=0;i<num;i++) sum+=n/q[i]; return sum;}//calint main(){ int m,n,T; init(); scanf("%d",&T); while(T--){ scanf("%d%d",&n,&m); long long ans=n; for(int i=2;i<=m;i++) ans+=cal(n,i); printf("%lld\n",ans); }//while return 0;}
0 0
- hdu2841(容斥原理)
- hdu2841 (容斥原理递归版)
- HDU2841 Visible Trees (容斥原理)
- HDU2841 Visible Trees【容斥原理】
- hdu2841 Visible Trees(容斥原理)
- 【容斥原理】HDU2841 Visible Trees
- hdu2841 Visible Trees(容斥原理)
- hdu2841 容斥
- HDU2841容斥原理+两种求质数对算法
- hdu2841(容斥原理+分解质因数)Visible Trees
- hdu2841 筛选素因子 容斥定理
- hdu2841 Visible Trees(容斥)
- HDU2841 一个关于互质的容斥
- Visible Trees HDU2841(容斥定理的简单扩展)
- 容斥原理
- 容斥原理 POJ3904
- 【容斥原理】八
- 【八】容斥原理
- ScheduledExecutorService定时周期执行指定的任务
- openCV—Python(11)——图像边缘检测
- IOS-笔记6(拓展,协议)
- OC NSFileManager
- 2014阿里前端笔试题(关于弹性盒布局的实现)
- hdu2841(容斥原理)
- Unsupported major.minor version 51.0解决
- Java Web 防范 SQL 注入攻击
- WebView使用方法
- shallow heap例说
- HTML DOM
- IIS配置WCF服务
- PAT 1044. Shopping in Mars (25)
- 浅析python 中__name__ = '__main__' 的作用