题目链接: https://codeforces.com/contest/900/problem/D

题意

假设有distinct 正整数序列{a1,a2,,,an},满足gcd(a1, a2, ..., an) = x ,且 ∑ai = y,那么求满足条件的序列的数目。

老题,一直没AC,今天算是明白了。

 #include <bits/stdc++.h>
using namespace std;
typedef long long ll; const ll mod=(ll)1e9+;
ll qPow(ll a,ll b,ll m)
{
ll ret=1ll;
while(b){
if(b&) ret=(ret*a)%m;
a=a*a%m;
b>>=;
}
return ret;
} map<ll , ll> F;
ll getF(ll t){
if(F.count(t)){
return F[t];
}
ll ans=qPow(2ll,t-,mod);
for(ll i=2ll;i*i<=t;++i){
if(t%i) continue;
ll j=t/i;
if(i!=j) ans=ans-getF(i)+mod-getF(j)+mod;
else ans=ans-getF(i)+mod;
ans%=mod;
}
ans=(ans-F[]+mod)%mod;
F[t]=ans;
return F[t];
} int main(){
ios::sync_with_stdio(false);cin.tie();
ll XX,YY;
cin>>XX>>YY;
if(YY%XX){
cout<<<<endl;
}
else{
ll tot=YY/XX;
F[]=1ll;
cout<<getF(tot)<<endl;
}
return ;
}

最新文章

  1. 教你一招:Excel中使用MID函数获取身份证中的出生年月日
  2. linux svn hooks代码自动更新至项目
  3. DDD~Unity在DDD中的使用
  4. C# POST Https请求的一些坑
  5. JAVA实现打印机
  6. linux内存管理子系统
  7. Mysql常用命令记录
  8. js 浏览器上调试方法多样
  9. win10 uwp 反射
  10. workbench的schema讲解一:(维度dimension设置的基本内容)
  11. 对Tomcat 8.0进行JVM层面的优化(基于Oracle JDK 8)
  12. tomcat文件下目录介绍
  13. DAY03、基本数据类型和运算符
  14. 自动化测试-14.selenium加载FireFox配置
  15. docker 镜像存放路径的修改
  16. DataWorks使用小结(一)——概述
  17. luogu1972 HH的项链(树状数组)
  18. linux系统下各类软件安装笔记
  19. PAT 1009 说反话 (20)(代码)
  20. 域名 ip地址 端口号

热门文章

  1. struct2depth 记录
  2. Spring核心模块:IoC容器介绍
  3. Git世界历险记
  4. class中限定绑定属性__slots__方法
  5. Linux中docker的使用
  6. 强大的oracle分析函数
  7. Tomcat 控制台出现乱码
  8. c博客作业01--顺序、分支结构
  9. Java2E中的路径问题
  10. 编程实现将一个N进制数转换成M进制数