設滿足條件的集合為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=0.
5都有解
所以硬幣裡只要包含概率0.5
0.50.
5的硬幣就可以
因為異或為0
00大,為1
11就小
那麼這時候加一枚p
=0.5
p=0.5
p=0.
5的硬幣即可平衡
#include
using
namespace std;
#define int long long
double p[
1009];
intquick
(int x,
int n)
signed
main()
ans =
quick(2
,n)-
quick(2
,n-x)
; cout << ans << endl;
}}
牛客練習賽20 B 麻婆豆腐
在一次課間休息的時候,音無結弦看到立華奏乙個人坐在座位上寫作業,於是動了請她吃麻婆豆腐的念頭。他迅速移動到她後面的座位,尋思著該怎麼開口邀請,他摸了摸口袋,拍了拍腦袋,有了 奏 聽說食堂裡有種傳聞中因為辣過頭所以誰都不會點的麻婆豆腐,但是卻驚人地好吃啊,這樣,我們來做個題吧 如果你做出來了我就天天請...
牛客練習賽18 A 最大乘積 找規律
這題要你回答t個詢問,給你乙個正整數s,若有若干個正整數的和為s,則這若干的數的乘積最大是多少?請輸出答案除以2000000000000000003 共有17 個零 的餘數。舉例來說,當 s 5 時,若干個數的和為 5 的情形有以下 7 種 不考慮數字的順序的話 1.1 1 1 1 1 2.1 1 ...
牛客練習賽24 D
名字挺有意思的,排插樹,雖然這是個圖。算dijkstra的模版題,求最短路裡面最長的那條,因為到講台的距離總是取決於最短的那條路,但是又要求離講台最遠,那麼我們通過dijkstra計算出起始點到所有點的最短路然後遍歷找最大值就好。如下 include using namespace std type...