甲乙進行比賽。
他們各有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 炮彈會被擋住並落在...