洛谷簽到題

2021-10-05 06:45:24 字數 1341 閱讀 5921

題目描述

一天 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 ...