codeforces900D Unusual Sequences 容斥原理
题目链接:戳这里
题目大意:输入x,y,求有多少个数列满足其gcd为x,和为y。
题解:显然我们可以将y/x,这样就变成了求gcd为1,和为y/x的数列个数。
如果不考虑重复,那么显然有2^(y-1)种方法,但这种情况里是存在不合法情况的,比如6分成{2,2,2},其gcd为2而不是1。
所以我们考虑容斥原理,通过枚举gcd为2*gcd,3*gcd……的方式来去掉不合法情况即可。
代码:
原创
2018-02-27 09:35:52 ·
248 阅读 ·
0 评论