日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JZOJ 3468. 【NOIP2013模拟联考7】OSU!(osu)

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JZOJ 3468. 【NOIP2013模拟联考7】OSU!(osu) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

osu 是一款群眾喜聞樂見的休閑軟件。

我們可以把osu的規則簡化與改編成以下的樣子:

一共有n次操作,每次操作只有成功與失敗之分,成功對應1,失敗對應0,n次操作對應為一個長度為n的01串。在這個串中連續的x個1可以貢獻x^3的分數,這x個1不能被其他連續的1所包含(也就是極長的一串1,具體見樣例解釋)

現在給出n,以及每個操作的成功率,請你輸出期望分數,輸出四舍五入后保留1位小數。

Input

輸入文件osu.in的第一行有一個正整數n,表示操作個數。接下去n行每行有一個[0,1]之間的實數,表示每個操作的成功率。

Output

輸出文件osu.out只有一個實數,表示答案。答案四舍五入后保留1位小數。

Sample Input

3

0.5

0.5

0.5

Sample Output

6.0

【樣例說明】

000分數為0,001分數為1,010分數為1,100分數為1,101分數為2,110分數為8,011分數為8,111分數為27,總和為48,期望為48/8=6.0

Data Constraint

30%的數據 n<=20

60%的數據 n<=1000

100%的數據 n<=100000

Solution

  • 期望DP。

  • 每一位都加上必選這一位的 期望長度^3 即可。

  • 利用立方差、平方和公式即可 O(1) 維護所需值。(詳見代碼)

Code

#include<cstdio> #include<cctype> using namespace std; const int N=1001; int n; double ans,X1,X2; inline double read()//實數讀入優化 {double X=0,Y=1.0; int w=0; char ch=0;while(!isdigit(ch)) {w|=ch=='-';ch=getchar();}while(isdigit(ch)) X=X*10+(ch^48),ch=getchar();ch=getchar();while(isdigit(ch)) X+=(Y/=10)*(ch^48),ch=getchar();return w?-X:X; } int main() {scanf("%d",&n);while(n--){double p=read();// i 是期望長度ans+=(3*X2+3*X1+1)*p;// (i+1)^3 = i^3 + 3*i^2 + 3*i + 1X2=(X2+2*X1+1)*p;// (i+1)^2 = i^2 + 2*i + 1X1=(X1+1)*p;// i= (i+1)*p + 0*(1-p)}printf("%.1lf",ans);return 0; }

總結

以上是生活随笔為你收集整理的JZOJ 3468. 【NOIP2013模拟联考7】OSU!(osu)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。