D. Unusual Sequences
题解:
看到和式的时候就想到了插板法,然后我们需要剔除因子为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相关推荐
- codeforces 900D. Unusual Sequences(莫比乌斯反演)
900D. Unusual Sequences(莫比乌斯反演) 题目链接:传送门 题意: 给出 xxx 和 yyy ,求序列形如 a1,a2..ana_1,a_2..a_na1,a2..an 满 ...
- codeforces900D Unusual Sequences
D. Unusual Sequences time limit per test 1 second memory limit per test 256 megabytes input standard ...
- D. Unusual Sequences (数论,质因子分解,dp)
D. Unusual Sequences time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Codeforces 900D Unusual Sequences:记忆化搜索
题目链接:http://codeforces.com/problemset/problem/900/D 题意: 给定x,y,问你有多少个数列a满足gcd(a[i]) = x 且 ∑(a[i]) = y ...
- 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 ...
- Unusual Sequences
题意: 求解合为 y 的总体 gcd 为 x 的正整数非空序列个数. 解法: 特判一下后,原问题等价于合为 s = y/x 的整体gcd为1的正整数序列个数. 1.$ans = \sum_{\sum{ ...
- Unusual Sequences (隔板法+dp)
隔板法:参考 题意: 给你一个sum一个gcd,寻找数列满足a1+...+an==sum && gcd(a1,...,an) 的种类 题解: 1.如果sum%gcd!=0 输出0 2. ...
- 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- Unusual Competitions
Unusual Competitions A bracketed sequence is called correct (regular) if by inserting "+" ...
最新文章
- python 作用域 前缀_Python面试题:杂项内容
- 【Android Gradle 插件】Gradle 映射文件 ( settings.gradle 映射为 Settings 类 | build.gradle 映射为 Project 类 )
- Windows Server 2008 R2活动目录灾难恢复(二):备份与恢复(1)
- 使用sprc097的DSP281x_usDelay.asm
- 计算机不小心删除怎么找回桌面,如何将桌面上误删的文件找回
- 有关性能测试结果的几点分析原则
- Lesson 002 —— 网络七层模型
- 【游戏开发创新】上班通勤时间太长,做一个任意门,告别地铁与塞车(Unity | 建模 | ShaderGraph | 摇杆 | 角色控制)
- 德标螺纹规格对照表_英制螺纹对照表详细介绍,英制螺丝螺纹标准
- IT负载率与数据中心规模——孙长青
- 读书寄语:安忍的智慧
- docker compose容器域名配置
- 2022年全国计算机四级考试精选模拟题及答案
- excel 怎么自动往下生成编号
- konfig:采用ConfigMap实现线上配置热更新
- iOS设备、Icon、LaunchImage、图片分辨率
- 关于windows系统中txt文档的换行符\r\n
- oop三大特性--封装性
- 台式计算机除尘方法,台式电脑怎么清理灰尘
- 场内场外交易成本_开放式基金的场内交易和场外交易有什么区别?
热门文章
- -bash: cd: /usr/bin/mysql:_linux下mysql的卸载、安装全过程amp;amp;mysql安装后bash:mysql:command not found...
- 来了!新一代 App 视觉增强辅助方案它真的来了!
- 《机器学习实战》——kNN
- *每日一题(三零)var a = 10 var foo={ a:20, bar:function(){ var a=30 return this.a
- 人工智能是什么?人工智能行业前景如何
- 【周志华机器学习】六、支持向量机
- 基于 Arduino 高精度简易桌面钟(Oled/DS3231)
- matlab 建模线性回归,MATLAB建模实现线性回归处理环境监测数据的探索及与EXCEL建模的对比...
- python爱好者社区公众号历史文章合集_精心整理 |人工智能爱好者社区历史文章合集(作者篇)...
- deepin、UOS应用软件标题栏大额头问题解决