题意:
Given a number sequence b1,b2…bn.
Please count how many number sequences a1,a2,…,ansatisfy the condition thata1∗a2∗…∗an=b1∗b2∗…∗bn(ai,bi>1).
一般人都能想到把所有的b分解质因数,但是很蛋疼的是我不知道接下来怎么办了。
看了题解才明白。
首先我们会得到X个质因数,设其中任意一个的出现次数为mi。
要得到n个数,就设有n个容器,每个容器进放进任意个因子。
对于任意一个质数Xi, 我们需要把mi个Xi放进这n个容器之中,容器为空,用隔板法可以知道解为C(n-1,n+m-1)
但是题目要求任意的ai都大于1,所以我们要把容器全空的情况去了,这个很容易想到容斥原理。
答案 = 所有可能 - 一个为空 + 两个为空 - 三个为空 …..
代码写炸了,写好再补