隔板法:参考

题意:

给你一个sum一个gcd,寻找数列满足a1+...+an==sum && gcd(a1,...,an) 的种类

题解:

1.如果sum%gcd!=0 输出0

2.思路:(dp+隔板法)我们可以设想将sum分成sum/gcd份 即用 (sum/gcd-1)块板子将其进行分割,在两个板子间的元素进行相加合并,其总的可能数量为2的(sum/gcd-1)次方,我们就将其gcd是2*gcd,3*gcd...时的可能情况减去

代码:

int qpow(int x,int y)
{int re=1;while(y){if(y&1) re=(re*x)%mod;y>>=1;x=(x*x)%mod;}return re;
}
void sol()
{int n;   cin>>n;// gcdint m;   cin>>m;// sumif(m%n){cout<<0<<endl; return ;}else{vector<int> vc;for(int i=1;i*i<=m;i++){if(m%i==0){if(i%n==0) vc.push_back(i);if((m/i)%n==0 && i*i!=m) vc.push_back(m/i);}}sort(vc.begin(),vc.end());for(int i=vc.size()-1;i>=0;i--){dp[i]=qpow(2,(m/vc[i])-1);for(int j=i+1;j<=vc.size()-1;j++){if(vc[j]%vc[i]==0){dp[i]=(dp[i]-dp[j]+mod)%mod;}}}}cout<<dp[0]<<endl;return ;
}

生活没有我们想象中的那么好,但是也绝对没有那么差!

Unusual Sequences (隔板法+dp)相关推荐

  1. 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 ...

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

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

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

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

  4. 排列组合的简单应用(隔板法)

    高中数学的排列组合,在许多题目中也有应用.甚至可以达到更快的解题速度,同时也会减少时间复杂度. 一般应用 拿NYOJ的一道题为例.https://acm.nyist.edu.cn/p/210. 通过读 ...

  5. codeforces900D Unusual Sequences

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

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

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

  7. sql相同顺序法和一次封锁法_数学专题 | Ep01 隔板法的妙用

    数学专题(一)  隔板法的妙用 浓度常见哪些问题? 排列组合分堆?涂色?到底掌握透彻了吗? 解析几何与韦达定理? 公式总是记不住?应用题还不会解? 除了写作(写作听我的).逻辑(逻辑说)专题外,本周起 ...

  8. 排列组合中关于捆绑法、插空法、插隔板法

    捆绑法:当要求某几个元素必须相邻(挨着)时,先将这几个元素看做一个整体,(比如:原来3个元素,整体考虑之后看成1个元素)然后将这个整体和其它元素进行考虑.这时要注意:一般整体内部各元素如果在前后顺序上 ...

  9. 4002 构造数组(可重复组合数问题--隔板法)

    1. 问题描述: 现在需要构造一对数组 (a,b),要求: 数组 a 和数组 b 的长度都为 m: 两个数组中的元素的取值范围都是 [1,n]: ∀i∈[1,m],ai ≤ bi: 数组 a 中元素非 ...

最新文章

  1. 【设计模式】基本概念
  2. oracle 文件写 n r,文本模式读写文件中\r和\n的问题
  3. docker, docker-compose安装
  4. 洛谷—— P2733 家的范围 Home on the Range
  5. iOS开发--底部按钮和应用图标显示未读消息
  6. 机器学习-西瓜书、南瓜书第五章
  7. 调用sklearn库--分类学习
  8. Vue + element 实现课程表
  9. python中双引号的作用_Python中单引号和双引号的作用
  10. 奇虎360历届笔试面试题汇总
  11. python怎么输入空行_python如何添加空行
  12. 李丽云为什么选择肖志军?
  13. locust工具学习笔记(三)-Tasks属性、tag修饰符、TaskSet类
  14. 小程序服务器还得备案域名,小程序服务器要不要域名备案
  15. AutoFac基本使用-笔记
  16. 链家网页爬虫_爬虫实战1-----链家二手房信息爬取
  17. 服务器硬盘掉线导致数据丢失的解决过程
  18. 【Flutter 实战】简约而不简单的计算器
  19. Java中使用ItextPdf工具根据PDF合同模板填充pdf
  20. 美颜SDK如何进行Android和iOS双端开发?

热门文章

  1. 2019-4-10-VisualStudio-2019-尝试使用-C#-8.0-新的方式
  2. 省计算机一级选择题,2015年6月福建省计算机一级选择题
  3. java highcharts_java后台生成HighCharts图片
  4. boolean默认值
  5. 幼儿计算机知识,幼儿园大班计算机课程教学计划
  6. Fusioncharts属性
  7. 《随机漫步的傻瓜》---寻找你的投资原则,查理芒格说:当成功概率很高的时刻,下最大的赌注,其余时间按兵不动...
  8. 面向对象编程(C++篇1)——引言
  9. 不完全免疫算法简介AU-DHEIA--AIS学习笔记6
  10. 一美分成就ARM ARM到底是做什么的?