牛客練習賽20 B 麻婆豆腐

2021-08-20 19:07:48 字數 993 閱讀 5783

在一次課間休息的時候,音無結弦看到立華奏乙個人坐在座位上寫作業,於是動了請她吃麻婆豆腐的念頭。他迅速移動到她後面的座位,尋思著該怎麼開口邀請,他摸了摸口袋,拍了拍腦袋,有了!

「奏~聽說食堂裡有種傳聞中因為辣過頭所以誰都不會點的麻婆豆腐,但是卻驚人地好吃啊,這樣,我們來做個題吧!如果你做出來了我就天天請你吃麻婆豆腐╰( ̄▽ ̄)╮」

奏的筆停下了,她轉過頭來,還帶了一張草稿紙,做好了做題的準備。音無懵了一下,心中暗暗竊喜,「麻婆豆腐果然是她的最愛啊!」

「咳咳...請聽題!我手上有n枚硬幣,第i枚正面朝上的概率是p

i。我現在每個硬幣各拋一次,正面朝上看做1,背面朝上看做0,把所有硬幣得到的數異或起來決定最後得到的數。問:有多少個子集合使得0和1的概率相等?」

不管音無給了怎樣的數,奏都是一分鐘不到就算出來了!不愧是前學生會長啊~

於是他們就去食堂吃麻婆豆腐了,現在,你也來算一下吧。

輸入的第一行包含乙個整數t,表示測試組數。

每個測試用例前面都有乙個空白行。

每個測試用例由兩行組成。

第一行包含硬幣數量n。

第二行包含n個數表示:概率p1,...,pn。每個pi都給出6個小數字。

對於每個測試用例輸出乙個數:使得0和1的概率相等的子集合數量。
結論:數一下n個數中有多少個數等於0.5就行了,假設有m個0.5,答案就是

證明:設集合s中,除了第乙個元素外的其它所有元素異或和為1的概率為x,第乙個元素為1的概率為p

那麼最後整個集合值為1的概率就為p*(1-x)+x*(1-p),當p*(1-x)+x*(1-p) = 0.5時這個集合滿足條件

可以發現,無論p為多少,x的解都一定等於0.5得證

#include#define ll long long

ll er[61] = ;

int main(void)

printf("%lld\n", er[n]-er[n-now]);

}}

牛客練習賽 D 麻婆豆腐 找規律,化簡結論

設滿足條件的集合為sss 設s ss除掉第一枚朝上概率k kk硬幣後,異或為1 11的概率是ppp 那麼s ss集合異或為1 11的概率是 k 1 p 1 k p 0.5 k 1 p 1 k p 0.5 k 1 p 1 k p 0.5觀察發現無論p pp的取值是多少,只要k 0.5 k 0.5 k ...

牛客練習賽20 A和B

在一次課間休息的時候,音無結弦看到立華奏乙個人坐在座位上寫作業,於是動了請她吃麻婆豆腐的念頭。他迅速移動到她後面的座位,尋思著該怎麼開口邀請,他摸了摸口袋,拍了拍腦袋,有了 奏 聽說食堂裡有種傳聞中因為辣過頭所以誰都不會點的麻婆豆腐,但是卻驚人地好吃啊,這樣,我們來做個題吧 如果你做出來了我就天天請...

牛客練習賽4 B

思維題,把 i2 j2 ai2 aj2 絕對值符號去掉後,我們設i2 j2 ai2 aj2 j2 i2 aj2 ai2 j2 aj2 i2 ai2 或者 i2 j2 ai2 aj2 j2 i2 aj2 ai2 ai2 i2 aj2 j2 原式化簡後只有這兩種形式,那麼我們可以設定兩個陣列a n b ...