在一次課間休息的時候,音無結弦看到立華奏乙個人坐在座位上寫作業,於是動了請她吃麻婆豆腐的念頭。他迅速移動到她後面的座位,尋思著該怎麼開口邀請,他摸了摸口袋,拍了拍腦袋,有了!
「奏~聽說食堂裡有種傳聞中因為辣過頭所以誰都不會點的麻婆豆腐,但是卻驚人地好吃啊,這樣,我們來做個題吧!如果你做出來了我就天天請你吃麻婆豆腐╰( ̄▽ ̄)╮」
奏的筆停下了,她轉過頭來,還帶了一張草稿紙,做好了做題的準備。音無懵了一下,心中暗暗竊喜,「麻婆豆腐果然是她的最愛啊!」
「咳咳...請聽題!我手上有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 ...