ASDFZ 3629 藥品試驗

2022-08-26 07:48:06 字數 1804 閱讀 1021

小 x 是生活在 9102 年的一位高二的 oier,也是本套模擬題的主角。

小 x 的妹子小 r 在 9102 年高考前兩周跟一位高考考生小 y 跑了,這令小 x 十分不爽。小 x 在睡覺的時候夢到自己也進入了高考考場參加了數學考試,並且通過一道題把小 y 吊打了。

小 x 醒來後,儘管沒有真實發生,但是他對這道題印象深刻,認為這道題是乙個 oier 都能輕鬆做出來的題,懷著對小 y 的怨念,他把這題出給了你。

為**某種疾病,研製了甲、乙兩種新藥,希望知道哪種新藥更有效,為此進行動物試驗。

試驗方案如下:每一輪選取兩隻白鼠對藥效進行對比試驗。對於兩隻白鼠,隨機選乙隻施以甲藥,另乙隻施以乙藥。一輪的**結果得出後,再安排下一輪試驗。當其中一種藥**的白鼠比另一種藥**的白鼠多 n 隻時。就停止試驗,並認為**只數多的藥更有效。

為了方便描述問題,約定:對於每輪試驗,若施以甲藥的白鼠**且施以乙藥的白鼠未**則甲藥得 1 分,乙藥得 −1 分;若施以乙藥的白鼠**且施以甲藥的白鼠未**則乙藥得 1 分,甲藥得 −1 分;若都**或都未**則兩種藥均得 0 分。

甲、乙兩種藥的**率分別記為 α 和 β,一輪實驗中甲藥的得分記為 x。

若甲藥、乙藥在試驗開始時都賦予 n 分,pi(i=0,1,…,2n)表示 「甲藥的累計得分為 i 時,最終認為甲藥比乙藥更有效」 的概率。則 p0=0,p2n=1,pi=api−1+bpi+cpi+1(i=1,2,…,2n−1,其中 a=p(x=−1),b=p(x=0),c=p(x=1)。

求出 pn 的值,即最終認為甲藥比乙藥更有效的概率,答案對 1000000007(10^9 + 7乙個質數 ) 取模。

如果你對題目有疑問,可以參見提示部分。

從標準輸入讀入資料。

輸入一行三個正整數,分別為題目中所說的 n,α,β在取模意義下給出。

輸出到標準輸出。

輸出一行乙個整數,表示 pnmod  10^9 + 7。

#12 500000004 600000005

#2364 401527355 102420240

#1352941179

#2901352382

#1α≡0.5(mod109+7),β≡0.8(mod109+7,則有 a=0.4,b=0.5,c=0.1。

可以求得 p0=0,p1=1/85,p2=1/17,p3=21/85,p4=1。

2019noip前訓練

求a,b,c,求p0,p1,遞推求pn

求x  完事兒~~

這個原理對概率同樣適用

兩個事件同時發生概率即是分別發生的概率乘積

比如甲有用,乙有用兩件事同時發生

你把右邊的pn移到左邊

就是遞推公式

甲有用乙沒用就是α(1-β)

甲沒用乙有用就是β(1-c)

β=1-α-c

**

#include#include#include#include#includeusing namespace std;

const int n=20000010;

const int mod=1000000007;

int p[n];

long long n,a,b,a,b,c,cn;

long long qmod(long long a,long long b)

return ans;

}int main ()

關於 0x3f3f3f3f 的問題

0x3f3f3f3f是乙個很有用的數值,它是滿足以下兩個條件的最大整數。1 整數的兩倍不超過 0x7f7f7f7f,即int能表示的最大正整數。2 整數的每8位 每個位元組 都是相同的。我們在程式設計中經常需要使用 memset a,val,sizeof a 初始化乙個陣列a,該語句把數值 val ...

0x3f3f3f3f(無窮大數)

一般定義無窮大數都是inf 99999999,或者0x7f ff ff ff,但是有的時候inf過大,雖然保證了沒有數超過它,但是在需要加上乙個數的時候,inf a可能會導致溢位,最終變成乙個負數。而0x3f3f3f3f的數量級也1e9的,一般題不會給超過1e9的數 在把它當成無窮大的時候,兩個0x...

Python3物件導向 3 異常(3)異常作用

當丟擲異常時,看起來好像立即停止了程式的執行。丟擲異常之後的所有 都不會執行,除非處理了這一異常,程式將會退出並給出錯誤資訊。def no return print i am about to raise an exception raise exception this is always rai...