POJ 3421 多重組合排列

2021-08-29 04:04:19 字數 1772 閱讀 2116

given a positive integer x, an x-factor chain of length m is a sequence of integers,

1 =x0, x1, x2, …, xm =x

satisfying

xi< xi+1 and xi | xi+1 where a | b means a perfectly divides into b.

now we are interested in the maximum length of x-factor chains and the number of chains of such length.

input

the input consists of several test cases. each contains a positive integer x (x ≤ 220).

output

for each test case, output the maximum length and the number of such x-factors chains.

sample input

234

10100

sample output

1 1

1 12 1

2 24 6

題目大意:乙個整數n,然後分解它的因子從x0到xm,其中x(k+1)>xk且xk整除x(k+1),即x(k+1)%xk==0,讓你求出這樣的序列的最長長度,當然這個長度你可以理解為下標m(從0開始的),也可以理解成所有的因子不包含1的個數,然後輸出的下乙個數是存在長度為m這樣的因子序列有幾個;

分析:因子問題,可以想到向質因子考慮,因為任何乙個整數都是由其質因子相乘得到的,因此可以對整數分解質因子,對於最長鏈的長度可以這樣求:拿樣例n=100來說,它的質因子有1,2,5,其中2有兩個,5有2個(這點很重要),它的題目要求最長鏈的因子都是由前一項乘以乙個質因子得到的:

舉個栗子:100存在這樣乙個符合題意的樣例 1 ,2 ,4 ,20 ,100,然後對其分解變成1,2,2*2,2*2*5,2*2*5*5,這樣就可以明顯看出我上面的那一句是什麼意思,20>4,20%4==0,那麼20,相對於4就是4乘以乙個質因子5得到的20,最終就是將所有的質因子相乘得到整數n(這樣才是最長的,2最多有2個,5最多也有2個,因此答案不可能出現3個2或者3個5相乘的因子的情況),因此最長的鏈的長度就是所有質因子個數的相加的和;

然後再求最長鏈的個數問題,在這裡我是參考了這位博主的思路來理解的:傳送

然後就是多重集全排列的問題了

綜上:其組合數為n!/ (n1! *n2! * n3! *nm!)

#include #include #include #include #include #include using namespace std;

typedef long long ll;

#define inf 0x3f3f3f3f

#define rep(i,l,r) for(int i=l;i<=r;i++)

#define lep(i,l,r) for(int i=l;i>=r;i--)

const int n=1e4;

int prime[n];

int factor(int n)

}if(n>1) prime[++tot]++;

return tot;

}ll sum(int v)

ll sum1(ll num,int u)

return base;

}int main()

}

多重排列和多重組合

比如有這樣乙個例子 helloo這個單詞字母排列有多少種方案呢?我們學過無重排列,那我們是不是可以轉化呢?我們把 l o 分別加上下標1,2,那麼就有6個不同的字母了。全排列的個數為6!然後我們在除以重複數字的冗餘度即 6!2 2!這就是多重排列的方案數了。那我們來擴充套件一下 二項式定理 a b ...

poj 3421 素因子個數和

題意 無法理解xi xi 1 and xi xi 1 where a b means a perfectly divides into b.這句話的意思。解析 網上的解析,求下面這些數,直接寫求下面這些數的 了。n可以分解成質因子的乘積。n p1 a1 p2 a2 p3 a2.pn an.最大長度就...

POJ 3421分解質因數

x factor chains time limit 1000ms memory limit 65536k total submissions 7375 accepted 2340 description given a positive integer x,an x factor chain of...