題意:
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,所以我們要把容器全空的情況去了,這個很容易想到容斥原理。
答案 = 所有可能 - 一個爲空 + 兩個爲空 - 三個爲空 …..
代碼寫炸了,寫好再補