51nod 1667 概率好題

2021-07-24 08:17:36 字數 2213 閱讀 4617

甲乙進行比賽。

他們各有k1

,k2 個集合[l

i,ri

] 每次隨機從他們擁有的每個集合中都取出乙個數 s1

=∑甲取出的數 s2

同理 若s

1>s2

甲勝 若s1

=s2 平局 否則乙勝

分別求出甲勝、平局、乙勝的概率。

對於甲的每個數可以表示為這樣乙個形式ri

−xi 其中xi

∈[0,

ri−l

i]類似的,對於乙中的每個數可以表示為這樣乙個形式li

+yi 其中yi

∈[0,

ri−l

i]那麼甲勝利的條件即為: ∑r

i−∑x

i>∑l

i+∑y

i 變形為: ∑x

i+∑y

ii−∑l

i 於是可以發現右邊的是乙個常數

我們加入乙個變數k(

k∈[0

,+∞)

那麼不等式變成: ∑x

i+∑y

i+k=

∑ri−

∑li−

1 (注意有乙個-1是因為不等式中是

於是就變成了求方程有多少個不同的解。

問題現在變成:

我們有乙個有k1

+k2+

1 個未知數的方程,其中每個未知數都是非負整數且有上限,現在我們需要知道有多少組解。

於是我們可以容斥,答案要求的是滿足所有未知數都在其上限以內的方案數,於是設s(

i)表示至少有i個未知數不符合要求的方案數,那麼可以得到: an

s=∑(

−1)i

×s(i

) 列舉未知數符合或不符合的狀態,那麼對於乙個不符合要求的未知數,由於原本應當是xi

≤upi

,不符合就變成xi

>up

i ,即xi

−upi

−1≥0

所以將等式的常數減去up

i+1 就變成了經典的擋板問題:將n個球放進m個盒子裡,求方案數。(注意:由於此問題中m很小,於是可以直接暴力算組合數)

51nod 1667 概率好題

甲乙兩人在van遊戲。他們各有k1,k2個集合 li,ri 每個人可以從各自的每個集合中隨機選出乙個整數。設s 1 甲 選的數 s2 乙選 的數若s1 s2甲勝,s1 s2平局,s1 s2乙勝。求三種情況各自的概率,答案對10 9 7取模 逆元 k1,k2 8,li ri 10 7 看到k1k2辣麼...

51nod1667 概率好題

考慮計算方案數,令xi ai li 0 xi ri l i 得到 l 1 x1 r2 x2 x1 x2?r2 l1 x 1 和 x2 並沒有本質差別,用插板法解決。取等號時可以直接算,取小於等於時可以加入乙個元素來放置多出來的部分。上限用容斥來解決。include include using nam...

51nod 1287 加農炮 好題啊好題

1287 加農炮 codility 基準時間限制 1 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 乙個長度為m的正整數陣列a,表示從左向右的地形高度。測試一種加農炮,炮彈平行於地面從左向右飛行,高度為h,如果某處地形的高度大於等於炮彈飛行的高度h a i h 炮彈會被擋住並落在...