NOIP模擬 排隊(組合數學)

2021-08-28 16:57:01 字數 879 閱讀 6999

在成都某中學有m個男生與n個女生排隊,這個學校的女生比較古怪,從某個位置(包含這個位置)開始往前數,男生的數量超過了女生的數量,女生會感覺不安全,於是會大叫起來,為了構建和諧校園,安排隊伍時應該避免這樣的情況。請你計算出不會引發尖叫的排隊方案的概率。(排隊方案不同定義:當且僅當某個某個位置人不一樣,如男生a、男生b ,與男生b、男生a ,2個排列是不同方案)

第一行1個整數, 表示測試資料的組數。

每個資料 有兩個數 n,m(n個女生,m個男生)

對於每組資料,輸出乙個實數(保留到小數點後 6 位)

31 0

0 11 1

1.000000

0.000000

0.500000

30%的資料: (測試組數<=10),(0<=n,m<=1000).

100%的資料: (測試組數=9008 ), ( 0<=n,m<=20000 ).

成功推了乙個錯誤的式子,爆零滾粗。。。

這個題可以考慮數形結合的思想,將問題看作在二維平面上行走。女生看成移動(1,1),男生看成移動(1,-1),那麼最後落在(n+m,n-m)處。

所以在移動過程中,一旦縱座標小於0,那麼就一定對應一種非法方案,這時可將其看做從(0,-2)出發到(n+m,n-m)處,那麼向上就多走了一步,向下少走了一步,最後合法方案數即為c(m+n,m)-c(m+n,m-1),最後答案就是1-m/(n+1)。(注意答案最後可能小於0,所以需取二者較大值)

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

const int maxn=20001;

int main()

return 0;

}

NOIP模擬 排列樹(組合數學)

做這道題的時候真的難受,屬於知道他考你什麼但就是不知道怎麼做,令人蛋疼啊。題意大概就是求拓撲排序的方案數,然額太菜了寫不出來。對於樹上每個節點,記錄他的size,對於根節點,他的編號一定是1,因為子節點的編號一定比父節點大,就類似於一種偏序關係,考慮每個節點分配的編號數就是他的size,所以用組合數...

BZOJ2729 排隊(組合數學 高精度)

hnoi2012 排隊 題意 某中學有 n 名男同學,m 名女同學和兩名老師要排隊參加體檢。他們排成一條直線,並且任意兩名女同學不能相鄰,兩名老師也不能相鄰,那麼一共有多少種排法呢?任意兩人不同 排列組合 高精度 考慮先放男生,後放老師,再放女生 先用男生把兩個老師隔開,再用男生和老師把所有女生隔開...

組合數學 求組合數

對於求組合數,要根據所給資料範圍來選擇合適的演算法 這道題中所給的資料範圍適合用打表的方法直接暴力求解 先用4e6的複雜度預處理出所有的情況,再用1e4的複雜度完成詢問即可 include using namespace std const int n 2010 const int mod 1e9 ...