設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 計算出強制不選兩個點中某乙個的最大值 此時就是這個基環的最大值 不用拆掉所有的邊,因為只要拆...