題目描述
一天 cyx 閒得無聊,寫下了 nn 個數,每個數隻會是 11 或 22,每個數是 11 的概率和是 22 的概率都是 50%50%,現在 cyx 想知道他寫的這 nn 個數的和,可他寫的數太多了,他根本算不了,所以他就想知道總和的期望值。你能告訴他麼?
輸入格式
乙個整數 nn,表示 cyx 寫的數的個數。
輸出格式
乙個實數,表示總和的期望值,保留四位小數。
輸入輸出樣例
輸入 #1複製
3輸出 #1複製
4.5000
說明/提示
【樣例解釋】
期望值的定義請參考這裡。
寫三個數有以下八種情況:
1 1 1總和為 33。
1 1 2總和為 44。
1 2 1總和為 44。
2 1 1總和為 44。
1 2 2總和為 55。
2 1 2總和為 55。
2 2 1總和為 55。
2 2 2總和為 66。
這八種情況的出現概率一樣,所以期望值為 (3+4+4+4+5+5+5+6) \div 8=36 \div 8=4.5(3+4+4+4+5+5+5+6)÷8=36÷8=4.5。
【資料範圍】
對於 20%20% 的資料,保證 n \le 20n≤20。
對於 40%40% 的資料,保證 n \le 10^6n≤106。
對於 60%60% 的資料,保證 n \le 10^9n≤109。
對於 80%80% 的資料,保證 n \le 10^n≤1018。
對於 100%100% 的資料,保證 1 \le n \le 10^1≤n≤1019。
思路:本來以為考組合數,結果是打表找規律的題,然後還是有幾個wa,後來看題解發現double爆了,
題解:把整數部分和小數部分分開輸出
規律:1.5*n
結果 n≤10^n≤10
19,要用什麼呢?
long long 差不多能存到 8×10^8×10
18,所以ull能存到 1.6×10^1.6×10
19,剛好能存下 1.5×10^1.5×1019!
我用了,但是好像沒啥卵用。。。
long
long n;
scanf
("%lld"
,&n)
;printf
("%lld"
,n+(n>
>1)
);if(n&1)
printf
(".5000");
else
printf
(".0000"
);
洛谷 P3601 簽到題
題目描述 我們定義乙個函式 qiandao x 為小於等於x的數中與x不互質的數的個數。這題作為簽到題,給出l和r,要求求 i lrqi anda o i mo d666623333 sum r qiandao i mod 666623333 i lr qian dao i mo d666 6233...
洛谷P3601 簽到題
我們定義乙個函式 qiandao x 為小於等於x的數中與x不互質的數的個數。這題作為簽到題,給出l和r,要求求 sum r qiandao i mod 666623333 先線性篩出 1 sim 10 6 的質數,然後計算他們對 l sim r 的數的貢獻即可。注意噹噹 l sim r 的數最後可...
洛谷3672 小清新簽到題 題解
題目見上面。參考 講真我最開始真不知道求方案數有什麼用。f i j 表示i個數j個逆序對有多少種方案。顯然我們有f i j f i 1 j f i 1 j 1 f i 1 j i 1 就相當於給乙個比序列中所有數都大的數,讓你往裡插。於是令s i j 為字首和,優化成f i j s i 1 j s ...