54張撲克,平均分給三人,大小王在乙個人手裡的概率
這個可以直接組合數計算,我們把這兩張牌拿出來,就是16,18,18
16的那個人就相當於去52張牌裡拿十二張,因為兩個人都是18,所以要去重
可以求得分子為c(52,16)*c(36,18)*c(18,18)*3
同理求的分母為c(54,18)*c(36,18)*c(18,18)
然後根據組合數公式,也就是18*17*3/(54*53)=17/53
#includeusing線性求逆元求組合數模版namespace
std;
const
int md=1e9+7,n=2e6+5
;int
f[n],v[n];
void
init()
int c(int n,int
m)int
main()
當然有些人就不想那樣寫組合數,分子寫成c(52,18)*c(34,18)*c(16,16)*3也是可以的,只是通分沒那麼好看,數值都是一樣的
還是以某人抽到大王為基準,而且還得抽到小王。大王可以出現在3×18的任意位置,小王也必須出現在相同的人手中,但不能出現在大王出現的那一輪(共17輪)。
即3×18×17
總共有3×18×53種情況,即小王不與大王相同位置。這是兔小弟的做法,我覺得也很巧妙哦
擴充套件問題變成了,乙個人拿20張,另兩個人拿17張。hhhh鬥地主的真實情況
地主當然概率要高些,但是具體是多少呢,我們可以看一下
分母比較簡單,先寫出分母c(54,20)*c(34,17)*c(17,17)*3
這三個人可能的牌是18 17 17和20 17 15
寫出分子就是c(52,18)*c(34,17)*c(17,17)*3+c(52,20)*(32,15)*c(17,17)*6
約分可以算出來是0.434661,上面那個值是0.320755
第乙個有同學覺得一眼看過去就是1/3,但是實際上去錯誤的
比如兩副牌,有些人就覺得是1/2,其實是乙個比1/2略小的數,16/53。
為什麼會有這種情況呢,因為進行了佔位,你這張牌有了就占去了那個位置,就不能直接乘上概率了
我們可以考慮6張牌分給兩個人,這樣算出來是2/5,其實公式就是(n/m-1)/(n-1)(n代表牌數,m代表分的堆數)
四個人,除去兩張大小王剩下52張撲克牌。問紅桃a和黑桃a同時被乙個人拿到的概率,這個你很快算出來12/51了,隔壁還在自閉呢
但是你只要不平分或者不能平分就會出現煩人的約分問題,平分之前這個數肯定小於1/m,不平分之後肯定大於1/m,這算是神奇的不等式吧
他們分別拿到了從1號到100號的座位,這些乘客會按號碼順序登機並應當對號入座,如果他們發現對應號座位被別人坐了,就會在剩下空的座位隨便挑乙個坐.現在假設1號乘客瘋了(其他人沒瘋),他會在100個座位中隨便選乙個座位坐下,問:第100人正確坐到自己坐位的概率是多少?(也可推廣到n名乘客n個座位的情況)
其實是乙個遞迴問題
1名乘客1個位置 100%
2名乘客2個位置 你的狀態和第乙個人有關,50%
3名乘客3個位置 第乙個坐對了,那就是回到了狀態2
第乙個人佔到你的位置
第乙個人坐到另乙個人的位置,還是狀態2 這個概率是多少呢,就是(1/6+1/6)*3,還是50%
4一直往復下去還是如此
看起來你只和第乙個人有關,第乙個人第
個人登機時,他的座位被佔的概率是
不均勻的硬幣怎麼讓兩個人等概率呢,可以扔兩次,相同了就再來,先反或先正為勝利。能粘的話粘起來也是可以的
面試過程中遇到的面試問題
c 常見的四種強制型別轉換有哪些?常見的型別轉換是在要轉換的型別前面加上括號和要轉換的型別。這樣就有乙個規則即像站姿結束多的自動轉換,例如int型別和float相加時,結果自動轉換為float型別。例如int a 1 char p char a 以上這種形式是c語言的形式,如果換做c 的話常用的形式...
面試過程中 訊息佇列相關問題總結
在實際專案中是否用過訊息佇列?這裡簡單介紹一下redis訊息佇列吧,之前有乙個服務號訊息推送就是用的redis來做的,因為業務比較單一所以就拿redis來做 第一步 建立推送任務 1.區分任務是即時任務還是延時任務 2.如果是延時任務可以使用zset key,time,val 因為zset 是有序列...
測試面試過程中的幾點困惑
最近在面試中遇到了很多困惑和無奈,筆者總結了幾條,與諸君分享。順便也談談筆者對面試的一些淺解。困惑二 我覺得 怪圈。很多人在面試的溝通中,非常喜歡用 我覺得 來開始回答問題。因為我比較喜歡用非常具體的場景來提問,那麼在該場景中按照邏輯上來講,必然存在著確切的因果關係或特定的解決方法。如果一切都是 我...