#4201: DP解


bleed1979 (Bleed)

學校 : 不指定學校
編號 : 1489
來源 : [203.204.21.29]
最後登入時間 :
2021-05-02 22:12:13
d134. 00369 - Combinations -- UVa369 | From: [114.43.113.163] | 發表日期 : 2010-09-04 06:07

其實看到討論說到一堆除法,甚至大數等等,看了很頭痛。

比較簡便的解法就是DP。

在UVa160是求階乘的質因數出現的次數。

如果會做的話,d134這題就把質因數次數相減再乘起來就好了。

6! / (4! * 2!)

質因數2,3,5的次數

6! -> 4  2  1

4! -> 3  1  0

2! -> 1 0 0

-------------相減

        0  1  1

所以是C6取2是3^1 * 5^1 = 15

當然有解出來就好了,不管是用什麼方法,

不過解題到最後還是要練求出方法對的正解,

否則一堆暴力破解會失去解題的樂趣。

 

 
#4203: Re:DP解


asas (向諸神與地雷醬獻上祈禱)

學校 : 不指定學校
編號 : 5185
來源 : [36.228.104.72]
最後登入時間 :
2024-03-06 23:29:54
d134. 00369 - Combinations -- UVa369 | From: [124.218.23.53] | 發表日期 : 2010-09-04 07:36

又學了一件事....原來不一定要楊輝三角形來解阿~~ 
#9784: Re:DP解


z3x56 (二信阿資)

學校 : 基隆市私立二信高級中學
編號 : 41061
來源 : [61.231.128.29]
最後登入時間 :
2020-08-22 18:35:15
d134. 00369 - Combinations -- UVa369 | From: [119.77.195.213] | 發表日期 : 2015-04-13 18:06

 

一定要用  unsigned long long

我使用 一個陣列 c[101][51];

 一個函式 comb(int n,int m)
{
 若m>n-m則取較小的m
 若c[n][m]未算過則計算 c[n][m]=comb(n,m);
   return c[n][m];
}

主程式先算出所有c[i:1~100][0]=1, c[i:1~100][1]=i; 

AC ,但少了 unsigned 就錯

 
ZeroJudge Forum