[Codeforces585E]Present for Vitalik the Philatelist(容斥原理+组合数学)
题目描述传送门题意:给出一列数,对于每一个数,求选出一个不包含当前数的非空子集满足子集与当前数gcd为1,并且子集中的所有数的gcd不为1的方案数,统计总和。题解首先考虑对于一个数,若它为质数,那么所有不是它倍数的数都和所有是它倍数的数互质假设个数分别为x,y那么它计算的答案应该为x∗(C1y+C2y+...+Cyy)=x∗(2y−1)但是如果对于质数p和质数q都这样计算的话,p和q的公倍数会被重