题意:求所有小于等于n的,x,y&&lcm(x,y)==n的个数

分析:因为n是最小公倍数,所以x,y都是n的因子,而且满足这样的因子必须保证互质,由于n=1e14,所以最多大概在2^13个因子 即8000多因子

所以每次可以递归暴力寻找一个因子,然后选好了以后,看唯一分解不同种素数还有哪种没有用,符合条件的只能用这些没有用过的,然后直接统计

注:由于最终每个对都被统计了两次,所以/2,由于本身也算一对,所以+1

代码:

#include <cstdio>
#include <iostream>
#include <ctime>
#include <vector>
#include <cmath>
#include <map>
#include <queue>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long LL;
const int N=1e7+;
const int INF=0x3f3f3f3f;
int cnt;
bool v[N];
LL prime[];
void getprime(){
for(int i=;i*i<=N-;++i)
if(!v[i])
for(int j=i*i;j<=N-;j+=i)
v[j]=;
for(int i=;i<=N-;++i)
if(!v[i])prime[++cnt]=i;
}
int ans;
vector<LL>g,c;
bool vis[];
void dfs(int pos,LL res){
if(pos==g.size()){
int tmp=;
for(int i=;i<g.size();++i){
if(vis[i])continue;
tmp*=(c[i]+);
}
ans+=tmp;
return;
}
dfs(pos+,res);
vis[pos]=;
for(LL i=,k=g[pos];i<=c[pos];++i,k*=g[pos])
dfs(pos+,res*k);
vis[pos]=;
return;
}
int main()
{
getprime();
int cas=,T;
scanf("%d",&T);
while(T--){
LL t,n;
scanf("%lld",&n),t=n;
g.clear(),c.clear();
for(int i=;i<=cnt&&prime[i]*prime[i]<=t;++i){
if(t%prime[i])continue;
int tot=;
g.push_back(prime[i]);
while(t%prime[i]==)t/=prime[i],++tot;
c.push_back(tot);
}
if(t>)g.push_back(t),c.push_back();
ans=;
dfs(,);
printf("Case %d: %d\n",++cas,(ans>>)+);
}
return ;
}

最新文章

  1. 微软发布TX(LINQ To Logs And Traces)
  2. 快速傅里叶(FFT)的快速深度思考
  3. 本周psp(11月17-23)
  4. ALV Tree demo(WBS元素分层显示)[引用别人的]
  5. C#注释的几种方法
  6. shell-bash学习01基础、打印、环境变量
  7. JUC回顾之-CyclicBarrier底层实现和原理
  8. 齐次坐标概念&amp;&amp;透视投影变换推导
  9. Android下各个按键对应的key code
  10. Android Studio依赖dependencies和Eclipse加上lib包解决重复编译某些项目的问题
  11. 用php做省份的三级联动 附带数据库
  12. 基于android的语音识别
  13. 支持老版本IE的3种解决方案
  14. Simulink 产品说明
  15. 【XSY3370】道路建设 最短路
  16. stm32WB55xx 外设资源
  17. UVA10562(看图写树,dfs)
  18. ruby执行字符串代码
  19. 全局 SqlConnection
  20. mongodb 3.0下载安装、配置及mongodb最新特性、基本命令教程详细介绍

热门文章

  1. 解决rtl8723be无线网卡驱动频繁断网问题
  2. TweenMax动画库学习(三)
  3. [C#]Array 添加扩展
  4. JavaScript的语法要点 1 - Lexically Scoped Language
  5. 常用PHP缓存技术
  6. 【python】疯了,掉坑里出不来了
  7. WebLogic启动时报错
  8. 【方言】Access to DialectResolutionInfo cannot be null when &#39;hibernate.dialect&#39; not set
  9. OpenGL列主元矩阵的运算
  10. 上传项目到Github