51nod 1639綁鞋帶(組合數學)

2021-08-09 09:12:43 字數 1048 閱讀 3355

1639 綁鞋帶

基準時間限制:1 秒 空間限制:131072 kb 分值: 20 難度:3級演算法題 收藏 關注

有n根鞋帶混在一起,現在重複n次以下操作:隨機抽出兩個鞋帶頭,把它們綁在一起。可以想象,這n次之後將不再有單獨的鞋帶頭,n條鞋帶系成了一些環。那麼有多大概率剛好所有這些鞋帶只形成了乙個環?

input

僅一行,包含乙個整數n (2<=n<=1000)。

output

輸出一行,為剛好成環的概率。

input示例

2output示例

0.666667

題解:是乙個概率計算問題,可以這樣模擬一下過程:第一次隨機取一根鞋帶的一頭,然後可以綁的地方有2(n-1)中,第二次取鞋帶的時候,有2(n-1)種取法了,此時綁鞋帶的時候,只有2(n-2)中選法,因為一頭已經綁上的鞋帶不能選,不然就會提前出現環。以此類推。得出概率:p = (2n*(2n-2)^2(2n-4)^2.....2^2)/2n! = ((2n-1)*(2n-3)*....3*1)/((2n-2)*(2n-4)*....4*2)

注意點:

1.不能直接計算分子和分母,然後坐商。需要將分子和分母每一項當做乙個整體計算,最後求積。

**:

#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

typedef long long ll;

const int maxn = 1e6;

const int mod = 1e9+7;

const int inf = 1<<30;

const ll llinf = 1e18+999;

int n;

int main( )

{ //freopen("input.txt", "r", stdin);

while(~scanf("%d", &n))

{double ans = 1.0;

for(int i=1; i

51nod1639 組合數學)

題意 中文題誒 思路 組合數學 n根鞋帶要組成乙個環,那麼顯然與連成一根鞋帶之前不成環是衝要條件 假設當前還剩下 i i 1 根鞋帶,要從中選擇兩根鞋帶頭連線後不成環的概率為 pi 不成環的選擇方法數 所有選擇方法數 所有方法數 c 2 i,2 2 i 2 i 1 2 i 2 i 1 成環的方法數 ...

51nod 瞬間移動 組合數學

1627 瞬間移動 基準時間限制 1 秒 空間限制 131072 kb 分值 80 難度 5級演算法題 收藏 關注 有乙個無限大的矩形,初始時你在左上角 即第一行第一列 每次你都可以選擇乙個右下方格仔,並瞬移過去 如從下圖中的紅色格仔能直接瞬移到藍色格仔 求到第n行第m列的格仔有幾種方案,答案對10...

51nod 1627 瞬間移動 組合數

有乙個無限大的矩形,初始時你在左上角 即第一行第一列 每次你都可以選擇乙個右下方格仔,並瞬移過去 如從下圖中的紅色格仔能直接瞬移到藍色格仔 求到第n行第m列的格仔有幾種方案,答案對1000000007取模。單組測試資料。兩個整數n,m 2 n,m 100000 output 乙個整數表示答案。inp...