题解:

看到和式的时候就想到了插板法,然后我们需要剔除因子为gcd的倍数的情况,就比如我们在隔板(3,3,3,3)的时候算方案为232^323已经把(6,6)这种情况算了,但是这个是不满足的。所以我们在筛m的因子时候特判一下是否有因子能够整除n,如果能就需要减去。

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int mod=1e9+7;
const int N=1e5+10;
int f[N];
vector<int> fac;
int qmi(int a,int b)
{int res=1;while(b){if(b&1) res=res*a%mod;a=a*a%mod;b>>=1;}return res;
}
void solve(){int n,m; scanf("%lld%lld",&n,&m);if(m%n) {puts("0");return;}for(int i=1;i<=sqrt(m);i++){if(m%i==0){if(i%n==0) fac.push_back(i);if(i*i!=m&&m/i%n==0) fac.push_back(m/i);}}sort(fac.begin(),fac.end(),greater<int>());for(int i=0;i<fac.size();i++){f[i]=qmi(2,m/fac[i]-1);for(int j=i-1;j>=0;j--){//            cout<<"----" << fac[i]<<' '<<fac[j]  << endl;if(fac[j]%fac[i]==0) f[i]=(f[i]-f[j]+mod)%mod;}}cout<<f[fac.size()-1]<<endl;
}
signed main(){solve();
#ifndef ONLINE_JUDGEcerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
#endifreturn 0;
}

D. Unusual Sequences相关推荐

  1. codeforces 900D. Unusual Sequences(莫比乌斯反演)

    900D. Unusual Sequences(莫比乌斯反演) 题目链接:传送门 题意: 给出 xxx 和 yyy ,求序列形如 a1,a2..ana_1,a_2..a_na1​,a2​..an​ 满 ...

  2. codeforces900D Unusual Sequences

    D. Unusual Sequences time limit per test 1 second memory limit per test 256 megabytes input standard ...

  3. D. Unusual Sequences (数论,质因子分解,dp)

    D. Unusual Sequences time limit per test 1 second memory limit per test 256 megabytes input standard ...

  4. Codeforces 900D Unusual Sequences:记忆化搜索

    题目链接:http://codeforces.com/problemset/problem/900/D 题意: 给定x,y,问你有多少个数列a满足gcd(a[i]) = x 且 ∑(a[i]) = y ...

  5. Codeforces Round #450 (Div. 2)D. Unusual Sequences[数论][组合数学][dp II]

    题目:http://codeforces.com/contest/900/problem/D 题意:找到加和为m的且gcd为n的数列种类数 分析:可以转化为求gcd为1的加和为m/n的种类数,假设有m ...

  6. Unusual Sequences

    题意: 求解合为 y 的总体 gcd 为 x 的正整数非空序列个数. 解法: 特判一下后,原问题等价于合为 s = y/x 的整体gcd为1的正整数序列个数. 1.$ans = \sum_{\sum{ ...

  7. Unusual Sequences (隔板法+dp)

    隔板法:参考 题意: 给你一个sum一个gcd,寻找数列满足a1+...+an==sum && gcd(a1,...,an) 的种类 题解: 1.如果sum%gcd!=0 输出0 2. ...

  8. 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  9. Unusual Competitions

    Unusual Competitions A bracketed sequence is called correct (regular) if by inserting "+" ...

最新文章

  1. python 作用域 前缀_Python面试题:杂项内容
  2. 【Android Gradle 插件】Gradle 映射文件 ( settings.gradle 映射为 Settings 类 | build.gradle 映射为 Project 类 )
  3. Windows Server 2008 R2活动目录灾难恢复(二):备份与恢复(1)
  4. 使用sprc097的DSP281x_usDelay.asm
  5. 计算机不小心删除怎么找回桌面,如何将桌面上误删的文件找回
  6. 有关性能测试结果的几点分析原则
  7. Lesson 002 —— 网络七层模型
  8. 【游戏开发创新】上班通勤时间太长,做一个任意门,告别地铁与塞车(Unity | 建模 | ShaderGraph | 摇杆 | 角色控制)
  9. 德标螺纹规格对照表_英制螺纹对照表详细介绍,英制螺丝螺纹标准
  10. IT负载率与数据中心规模——孙长青
  11. 读书寄语:安忍的智慧
  12. docker compose容器域名配置
  13. 2022年全国计算机四级考试精选模拟题及答案
  14. excel 怎么自动往下生成编号
  15. konfig:采用ConfigMap实现线上配置热更新
  16. iOS设备、Icon、LaunchImage、图片分辨率
  17. 关于windows系统中txt文档的换行符\r\n
  18. oop三大特性--封装性
  19. 台式计算机除尘方法,台式电脑怎么清理灰尘
  20. 场内场外交易成本_开放式基金的场内交易和场外交易有什么区别?

热门文章

  1. -bash: cd: /usr/bin/mysql:_linux下mysql的卸载、安装全过程amp;amp;mysql安装后bash:mysql:command not found...
  2. 来了!新一代 App 视觉增强辅助方案它真的来了!
  3. 《机器学习实战》——kNN
  4. *每日一题(三零)var a = 10 var foo={ a:20, bar:function(){ var a=30 return this.a
  5. 人工智能是什么?人工智能行业前景如何
  6. 【周志华机器学习】六、支持向量机
  7. 基于 Arduino 高精度简易桌面钟(Oled/DS3231)
  8. matlab 建模线性回归,MATLAB建模实现线性回归处理环境监测数据的探索及与EXCEL建模的对比...
  9. python爱好者社区公众号历史文章合集_精心整理 |人工智能爱好者社区历史文章合集(作者篇)...
  10. deepin、UOS应用软件标题栏大额头问题解决