【CodeForces908D】New Year and Arbitrary Arrangement (期望DP)
題目大意
有一個ab字串,初始為空。
用
例子:當k=1,aab含2個ab,bbabbab時不可能出現的,因為到了bbab就會停止新增字母。
題解
dp[i][j]表示字首包含i個a,j個ab子串的所有字串,得到的期望ab子串個數。
轉移:
在此字首後添上a:
在此字首後添上b:
初始狀態:
目標狀態:
但這兩條↑是錯的
還有一些無窮情況:
1.前綴出現了無窮多個b:bbbbb…….bbbbaababa…
顯然在第一個a之前的所有b都沒有任何用處,為了結束新增字母,則必定會出現a,所以目標狀態一定會出現字首有一個a,沒有ab的情況,所以,目標狀態應定義為
2.出現了無窮多個a:ababaaaa……..aaaaaab,雖然這樣概率很小,但是把b新增在末尾,會增加一大堆ab,不可忽略,如果使用dp,會使i值增加到無窮大。
所以,將初始狀態定義為
令
則初始狀態
相關推薦
【CodeForces908D】New Year and Arbitrary Arrangement (期望DP)
題目大意 有一個ab字串,初始為空。 用PaPa+Pb的概率在末尾新增字母a,有 PbPa+Pb的概率在末尾新增字母b,當出現≥k個ab子串時立即停止新增字母,求最後期望的ab子串個數。(子串ab不要求連續) 例子:當k=1,aab含2個ab,bbabba
Codeforces 908D New Year and Arbitrary Arrangement(概率DP,邊界條件處理)
sin color 一個 pan ++ urn fin [1] bsp 題目鏈接 Goodbye 2017 Problem D 題意 一個字符串開始,每次有$\frac{pa}{pa+pb}$的概率在後面加一個a,$\frac{pb}{pa+pb}$的概率在後面加一個
【CF908G】New Year and Original Order(動態規劃)
數字 tps 怎麽 string scanf namespace sum %d ret 【CF908G】New Year and Original Order(動態規劃) 題面 洛谷 CF 題解 設\(f[i][j][k][0/1]\)表示當前填到了第\(i\)位,有\(j
【題解】 bzoj3036: 綠豆蛙的歸宿 (期望dp)
www. cpp can bit push oid rom .cn 概率 題面戳我 Solution 反向建圖跑拓撲排序,順便處理\(dp\) 假設某條邊是\(u \rightarrow v (dis)\) ,那麽轉移方程就是\(dp[v]+=(dp[u]+dis)/in
Codeforces 908 D New Year and Arbitrary Arrangement
ble other have span pri res ould com rmi Discription You are given three integers k, pa and pb. You will construct a sequence with the fo
CF 908 D New Year and Arbitrary Arrangement —— 期望DP
std con iostream algo print \n problem 就會 algorithm 題目:http://codeforces.com/contest/908/problem/D 首先,設 f[i][j] 表示有 i 個 a,j 個 ab 組合的期望,A
【裴蜀定理】【CF1091C】 New Year and the Sphere Transmission
Description 有 \(n\) 個人圍成一個圈,按照順時針從 \(1\) 到 \(n\) 編號。第 \(1\) 個人會拿到一個球,他指定一個數字 \(k\),然後會將球傳給他後面順指標數第 \(k\) 個人。再次傳到 \(1\) 後遊戲結束。定義一次遊戲的 \(ans\) 為所有拿到球的人的編號之和
【CF908G】New Year and Original Order
【CF908G】New Year and Original Order 題面 洛谷 題解 設\(f[i][j][k][l]\)表示當前在第\(i\)位有\(j\)位大於等於\(k\),當前有沒有卡上界的方案數 則列舉新加的數\(p\),有 \[ f[i+1][j+(p\geq k)][k][l|(p&
Codeforces 908D New Year and Arbitrary Arrangement
題意: 給定字元’a’出現的概率pa/(pa+pb),’b’出現的概率pb/(pa+pb); 給定一個正整數k,構造一個字串,當出現至少k個子序列”ab”時停止構造; 問子序列”ab”出現次數的期望P/Q,輸出P*(Q的逆元); 注意是子序列不是子串
【Leetcode】打家劫舍 I and 打家劫舍 II(動態規劃)PYTHON
198.打家劫舍 題目表述: 你是一個專業的強盜,計劃搶劫沿街的房屋。每間房都藏有一定的現金,阻止你搶劫他們的唯一的制約因素就是相鄰的房屋有保安系統連線,如果兩間相鄰的房屋在同一晚上被闖入,它會自動聯絡警方。 給定一個代表每個房屋的金額的非負整數列表,確定
【BZOJ】1260 [CQOI2007]塗色paint(區間dp)
c++ ide hid event pri display pro == spl 題目 傳送門:QWQ 分析 區間dp, 詳見代碼 代碼 /*****************************************
【BZOJ】3191 [JLOI2013]卡牌遊戲(概率dp)
如果 style ++ bzoj mem color con size oid 題目 傳送門:QWQ 分析 算是概率dp不錯的題。 $ dp[i][j] $表示有i個人時,這i個人中的第j個獲勝的概率。 我們把i從1推到n,那麽答案就是$ dp[n
【題解】洛谷P1070 道路遊戲(線性DP)
次元傳送門:洛谷P1070 思路 一開始以為要用什麼玄學優化 沒想到O3就可以過了 我們只需要設f[i]為到時間i時的最多金幣 需要倒著推回去 即當前值可以從某個點來 那麼狀態轉移方程為: f[i]=max(f[i],f[i-k]+val-cost[now]); now表示從now這個
【leetcode931】 下降路徑最小和(基礎DP)
題目: 一個矩陣,從上到下走一遍,只允許走相鄰的列,然後每一個位置有一個權值,求經過路徑的最小權值和。 思路: 基礎DP了,dp[i][j]表示到達位置(i,j)所需要的花費的權值。那麼他可以由三種狀態轉化而來。 (i-1,j-1),(i-1,j),(i-1,j+1)就是上一列與其相
[Codeforces 1042E]Vasya and Magic Matrix(期望 DP)
Address 洛谷 RemoteJudge Codeforces 1042E Meaning 一個 n
線段樹+Dfs序【CF620E】New Year Tree
Description 你有一棵以1為根的有根樹,有n個點,每個節點初始有一個顏色c[i]。 有兩種操作: 1 v c 將以v為根的子樹中所有點顏色更改為c 2 v 查詢以v為根的子樹中的節點有多少種不同的顏色 Input 第一行,兩個整數\(n,m\),分別代表有\(n\)個節
【 MATLAB 】norm ( Vector and matrix norms )(向量範數以及矩陣範數)
norm Vector and matrix norms Syntax n = norm(v) n = norm(v,p) n = norm(X) n = norm(X,p) n = norm(X,'fro') Description n = norm
【笨方法學PAT】1140 Look-and-say Sequence (20 分)
一、題目 Look-and-say sequence is a sequence of integers as the following: D, D1, D111, D113, D11231, D112213111, ... where D is in [0,
【Python】正則表達式1(未完)
pes mmu get regular rop 則表達式 line out github 1、正則表達式唯一的用途就是在文本中匹配和尋找模式,模式可以簡單,也可以復雜。 2、Regexr 這個網站很個性的就是,有一個community標簽,打開後可以看到評分由高到低
【BZOJ4942】[Noi2017]整數 線段樹+DFS(卡過)
push 正常的 int 描述 printf turn n-1 如果 bzoj 【BZOJ4942】[Noi2017]整數 題目描述去uoj 題解:如果只有加法,那麽直接暴力即可。。。(因為1的數量最多nlogn個) 先考慮加法,比較顯然的做法就是將A二進制分解成lo