題目:一共來了n(0題解:關於本題自己一直沒有思路,看了公式後也理解了好一會。
首先,將所有人按小組數量列出陣列如:分成1個組,兩個組........n個組,其中1個組和n個組的方案數都為1。
其次,計算其它分組的方案各有多少種。這裡就是這個公式的關鍵了:
先將比當前少乙個人並且少乙個分組總數的方案直接加上(新加入的人直接新建一組,就得到人數與分組數與目標方案匹配),
再將少一人但分組數量相同的方案數乘以分組的數量(每個方案中最後的這乙個人都可加到該方案的各組,使得人數匹配)。
最後,將不同分組數量的所有方案相加,得出總的方案數。
而且,a[i][0]應該是為0,不為1的。
此外還得注溢位。要用__int64型別。
#include
<
stdio.h
>
intmain()
scanf("%d
", &t);
while
(t--
) return0;
} 此外下面的演算法也可以計算該題,但是暫時還沒有想明白。
#include#include__int64 c(int n,int m)
return s;
}int main()
} printf("%i64d\n",f[num]);
} return 0;
}
HDU1571 下沙小麵的 1
problem description lele 在下沙高校中有很多同學,所以他有時間也經常到處去看望同學 順便蹭飯 在下沙,最便宜方便的交通工具莫過於小麵的了。坐得多了,lele有時候也想,如果將來失業了,能夠在下沙開開小麵的,也是多麼幸福的啊。終於有一天,他如願當上了小麵的的司機。為了更好的服務...
HDU 下沙的沙子有幾粒?(遞推)
寫一下自己的思路歷程。1.模擬leetcode的括號匹配,採用dfs 當h的數目大於d的數目且d的數目小於n時,在字串尾增加乙個d 當h的數目小於m時,在子串增加乙個h 結束搜尋的條件是d的數目等於n且h的數目等於m,結束時檢查得到字串是不是符合要求,如果是則ans 最後輸出ans 結果是交上去血t...
hdu 1627 下沙的沙子有幾粒?
題目鏈結 hdu 1627 下沙的沙子有幾粒 problem description input 輸入資料報含多個測試例項,每個佔一行,由兩個整數m和n組成,m和 n 分別表示字串中h和d的個數。由於我們目前所使用的微機和老美的超級計算機沒法比,所以題目給定的資料範圍是 1 n m 20 outpu...