1. 程式人生 > >2018.09.28【BZOJ4318】OSU!(期望DP)

2018.09.28【BZOJ4318】OSU!(期望DP)

傳送門

解析:

不錯的期望DP入門題。

思路:

首先,要是沒有明白期望的線性性。這道題是無法理解的。

一個常識,要維護高次,我們可以將高次展開,利用低次來維護。

所以我們同時維護長度的期望,長度平方的期望,長度立方的期望。

注意這裡可能就有人不懂了,長度平方的期望不等於長度的期望的平方。
同樣,長度立方的期望不等於長度的期望的立方。

我們用len1i,len2i,len3ilen1_i,len2_i,len3_i表示上述三個引數。

則我們將它展開得到len2i=len2i1+2len1i1+1len2_i=len2_{i-1}+2*len1_{i-1}+1

len3i=len3i1+3len2i1+3len1i1+1len3_i=len3_{i-1}+3*len2_{i-1}+3*len1_{i-1}+1

套上一個概率就行了。
然後我們的答案就是所有len3len3的和,然而len3len3不會用於修改其他的項,我們可以直接在len3len3上維護字首和。

程式碼:

#include<bits/stdc++.h>
using namespace std;
#define
ll long long
#define re register #define gc getchar #define pc putchar #define cs const inline ll getint(){ re ll num=0; re char c; while(!isdigit(c=gc()));num=c^48; while(isdigit(c=gc()))num=(num<<1)+(num<<3)+(c^48); return num; } inline double getdb(){ re double x=0,y=1.0; re char
c; while(!isdigit(c=gc())); x=c^48; while(isdigit(c=gc()))x=(x*10)+(c^48); if(c!='.')return x; while(isdigit(c=gc()))x+=(y/=10)*(c^48); return x; } cs int N=100002; double len1[N],len2[N],len3[N]; int n; signed main(){ n=getint(); for(int re i=1;i<=n;++i){ double p=getdb(); len1[i]=p*(len1[i-1]+1); len2[i]=p*(len2[i-1]+2*len1[i-1]+1); len3[i]=len3[i-1]+p*(3*len2[i-1]+3*len1[i-1]+1); } printf("%.1f",len3[n]); return 0; }

相關推薦

2018.09.28BZOJ4318OSU!期望DP

傳送門 解析: 不錯的期望DP入門題。 思路: 首先,要是沒有明白期望的線性性。這道題是無法理解的。 一個常識,要維護高次,我們可以將高次展開,利用低次來維護。 所以我們同時維護長度的期望,長度平方的期望,長度立方的期望。 注意這裡可能就有人不懂了,長度平方的

2018.09.30POJ3348Cows凸包三角剖分

傳送門 解析: 讀優沒有寫負數又被卡了半個小時。。。 這裡採用JarrisJarrisJarris步進法求凸包。。主要講一講怎麼求多邊形面積。 思路: 滿足題意的顯然是這些點的凸包,而我們要做的就是求出凸包面積。 那麼怎麼求多邊形面積? 考慮三角剖分,我們將多

2018.09.28Vijos1053Easy ssspSPFA判負環

傳送門 解析: 深入理解SPFASPFASPFA的本質。 思路: 由於是佇列優化的Bellman−FordBellman-FordBellman−Ford,SPFASPFASPFA也具有判負環的功能,

2018.11.09UVA11021Tribles概率DP不用全概率公式

傳送門 強烈譴責: 對於懂全概率公式的人來說這是一道水題。 然而就是這群懂全概率公式的人寫著一篇篇題解與程式碼不符的部落格。連遞推陣列 f

2018.09.27BZOJ5221偏題矩陣快速冪數學推理

【問題描述】 斐波那契數列是一個經典遞推數列,即Fibn=Fibn−1+Fibn−2Fib_n=Fib_{n-1}+Fib_{n-2}Fibn​=Fibn−1​+Fibn−2​ 在這個問題中,定義一個新數列,對於n≥2n ≥ 2n≥2有Fn=Fn−1+Fn−2+

Hdu3555 Bomb數位DP

-- return cstring long long 表示 getchar() bom math while Description 題意就是找0到N有多少個數中含有49。 \(1\leq N \leq2^{63}-1\) Solution 數位DP,與hdu3652類似

Uva10559Blocks區間DP

log turn logs efi read etc body pre 數量 Description 題意:有一排數量為N的方塊,每次可以把連續的相同顏色的區間消除,得到分數為區間長度的平方,然後左右兩邊連在一起,問最大分數為多少。 \(1\leq N\leq200\) S

[BZOJ4318]OSU! 期望 DP

Address 洛谷 P1654 BZOJ 4318 Solution 很容易想到 f [

BZOJ4712洪水動態dp

【BZOJ4712】洪水(動態dp) 題面 BZOJ 然而是許可權題QwQ,所以粘過來算了。 Description 小A走到一個山腳下,準備給自己造一個小屋。這時候,小A的朋友(op,又叫管理員)打開了創造模式,然後飛到 山頂放了格水。於是小A面前出現了一個瀑布。作為平民的小A只好老實巴交地爬山堵水

IOI1998Polygon區間dp

設f(l,r,0)表示區間[l,r]操作後的最大值,f(l,r,1)表示區間[l,r]操作後的最小值,簡單的區間合併即可。 可以把第一條邊斷掉,然後把這後面的N個點複製一遍,直接做N*2長度的區間dp。 答案是max:f(i,i+N-1,0)。 #include<

2018.09.22JSOI2008BZOJ1016最小生成樹計數矩陣樹定理並查集

傳送門 解析: 好的這是一道需要數學推理的矩陣樹題目。 首先我們考慮一個問題。 前置定理 我們先隨便做一棵最小生成樹。 重要定理:那麼在這棵生成樹中如果權值為www的邊有ttt條,那麼在所有最小生成樹中,權值為www的邊都有kkk條。 證明如下: 考慮在這棵

2018.09.26TJOI2017BZOJ4888洛谷P3760異或和樹狀陣列差分

洛谷傳送門 解析: 額,TJOITJOITJOI連續兩年考了位運算。。。 我還能說什麼。。。 PS:zxyoiPS:zxyoiPS:zxyoi不是天津oieroieroier。 思路: 一般位運算都

2018.09.26BZOJ4260Codechef REBXOR01Trie

傳送門 解析: 這種要求分成兩段的問題,一般就是處理出一個字首最大和一個字尾最大。 然後O(n)O(n)O(n)掃一遍就好了。 那麼,怎麼求? 這種異或問題當然還是要01Trie01Trie01Tri

2018.09.26BZOJ4602洛谷P4079SDOI2016齒輪搜尋圖的遍歷

洛谷傳送門 解析: 這道題O(V+E)O(V+E)O(V+E)就過了啊。。。 然而官方標解是並查集。。。 我。。。 思路: 只要按照圖的遍歷一邊跑一遍驗證就行了。 DFSDFSDFS比較好寫。 程

2018.09.30LOJ517「LibreOJ β Round #2」計算幾何瞎暴力01Trie二進位制拆分

傳送門 解析: 看到標題的dalaodalaodalao先不要急著錘我。。。 這道題的二進位制拆分和01Trie01Trie01Trie不能混在一起,不要急著說01Trie01Trie01Trie就是二進位制拆分。。。 思路: 這道題可以說是非常好的一道資料結

2018.09.29BZOJ1026洛谷P2657SCOI2009windy數數位DP

洛谷傳送門 解析: 由於資料範圍很小(相對於大部分數位DPDPDP題來說)。 我們只記錄當前位,當前位數字,是否是前導0,是否達到上界。 簡單DP記憶化搜尋一下就好了。 程式碼: #include

2018.09.29HDU2089不要62數位DP

傳送門 解析: 今天突然發現自己還沒寫過數位DPDPDP入門題。。。 思路: 我們從高位向低位DP,採用記憶化搜尋。 初始化fff陣列為−1-1−1,因為我們可能DPDPDP到某個狀態是沒有合法數的。

2018.09.18BZOJ4517SDOI2016排列計數組合數學錯排問題

Description 求有多少種長度為 n 的序列 A,滿足以下條件: 1 ~ n 這 n 個數在序列中各出現了一次 若第 i 個數 A[i] 的值為 i,則稱 i 是穩定的。序列恰好有 m 個數是穩定的 滿足條件的序列可能很多,序列數對 10^9+7 取模。

2018.10.28CQOI2018洛谷P4455BZOJ5297社交網路有向圖矩陣樹

洛谷傳送門 解析: 其實KirchoffKirchoffKirchoff的無向圖矩陣本來就是有向圖矩陣的一個擴充套件。所以這裡僅將有向圖的KirchoffKirchoffKirchoff矩陣作一個簡單的闡述,詳細證明請參考其他dalaodalaodalao的

2018.09.27BZOJ1076洛谷P4273SCOI2008獎勵關狀壓DP期望DP

洛谷傳送門 解析: 一眼看題面就是期望DP,再看資料範圍就知道是狀態壓縮 思路: 一般來說是期望倒著推,概率順著推,少數情況可以不遵守以上規則。 然而這個就顯然不是少數情況,我們仍然選擇倒推。 我們考慮什麼狀態能夠倒著轉移回來。 我們列舉下一輪丟出的寶物,看