BZOJ4318 OSU (動態規劃 概率期望)

2022-05-20 16:01:38 字數 598 閱讀 5608

設f[i][0/1]為考慮前i位,第i位為0/1時的期望得分(乘以是0/1的概率)。暴力轉移顯然。字首和優化即可。

但是這個字首和精度無法承受,動不動就nan。

考慮增加一位的貢獻。若之前字尾1的個數為x,則增加乙個1的貢獻為(x+1)3-x3=3x2+3x+1。因此記錄字尾1的個數期望、字尾1的個數平方的期望即可。

#include#include

#include

#include

#include

#include

using

namespace

std;

intread()

while (c>='

0'&&c<='

9') x=(x<<1)+(x<<3)+(c^48),c=getchar();

return x*f;

}#define n 100010

intn;

double

p[n],e,e2,ans;

intmain()

printf(

"%.1f

",ans);

return0;

}

洛谷1654 BZOJ4318 OSU 期望

題目鏈結 題意 有乙個長度為n nn的序列,每個數字都是0 00或1 11,告訴你每個數是1 11的概率。其中長度為x xx的連續的一段1 11對答案的貢獻是x 3x 3 x3,求答案的期望。n 1 e5 n 1e5 n 1 e5,四捨五入保留一位小數。題解 我們考慮乙個dp。最簡單的dp是n 2n...

BZOJ1037動態規劃

資料範圍很小,可以用4維儲存下前i個男孩j個女孩,從這一位往前的所有點中男 女的差最大為x,女 男為y的方案數 主動遞推 f i 1 j x 1 max y 1 0 f i j x y f i j 1 max x 1 0 y 1 f i j x y 最後答案為 sigma x sigma y f n...

BZOJ1040 騎士(動態規劃)

bzoj 對於每一組厭惡的關係 顯然是連邊操作 如果是一棵樹的話 很顯然的樹型dp 但是,現在相當於有很多個基環 也就是在一棵樹的基礎上再加了一條邊 這個時候怎麼辦,暴力拆掉基環 拆掉任意一條邊 跑兩遍dp 計算出強制不選兩個點中某乙個的最大值 此時就是這個基環的最大值 不用拆掉所有的邊,因為只要拆...