正解:期望$dp$ 解题报告: 传送门$QwQ$ 阿关于题目里那个形如$ab$的子序列我说下,,,我我我之前$get$了好久$QAQ$.这里子序列的个数的定义是这样儿的,举个$eg$,$aabb$,就有4个形如$ab$的子序列. 然后考虑$dp$?设$f_{i,j}$表示前缀中有$i$个$a$,$j$个$ab$的停止后的期望长度?然后为了后面表达方便设$A=\frac{p_a}{p_a+p_b},B=\frac{p_b}{p_a+p_b}$. 不难推出转移方程就$f_{i,j}=f_{i+1,j…
题目大意:给你一个空字符串,你有\(\frac{pa}{pa+pb}\)的概率往字符串最后面加个\(a\),\(\frac{pb}{pa+pb}\)的概率往字符串最后面加个\(b\),当子序列\(ab\)的个数超过\(k\)时,停止加入.求是期望出现子序列\(ab\)的个数 因为可以无限加字母,所以设\(f[i][j]\)表示这个串有\(i\)个\(a\),\(j\)个\(ab\)为前缀时,期望出现的\(ab\)子序列个数 转移方程为 \[f[i][j]=(f[i+1][j]*pa+f[i][j…
题目传送门 题意:给出正整数$pa,pb,k$,最开始你有一个空串,每一次你有$\frac{pa}{pa + pb}$的概率向串最后放一个$a$,有$\frac{pb}{pa + pb}$的概率向串最后放一个$b$,当串中$ab$子序列的数量$\geq K$时停止,问在操作停止时串中$ab$子序列个数的期望,对$10^9+7$取模.$pa,pb \leq 10^6,k \leq 1000$ 设$f_{i,j}$表示当前串内有$i$个$a$,$j$个$ab$子序列的子序列个数期望(至于为什么不是设…
题目:http://codeforces.com/contest/908/problem/D 注意是子序列.加一个a对ab个数无影响:加一个b使ab个数多出它前面的a那么多个.所以状态里记录有多少个a和ab. 当 i+j>=k 的时候,再加一个b就结束了.用式子算一下期望,发现一个等比数列:用等比数列的公式算一下,变成一个值减去一个无限小的值,所以就是那个值了. #include<iostream> #include<cstdio> #include<cstring&g…
题目:http://codeforces.com/contest/908/problem/D 首先,设 f[i][j] 表示有 i 个 a,j 个 ab 组合的期望,A = pa / (pa + pb) , B = pb / (pa + pb) 那么 f[i][j] = A * f[i+1][j] + B * f[i][i+j] 当 i+j >= k 时,再出现一个 b 就会结束,所以此时: f[i][j] = f[i][i+j] * B + f[i+1][i+j+1] * A * B + f[…
\(0.\) 前言 有一天 \(Au\) 爷讲期望都见到了此题,通过写题解来加深理解. \(1.\) 题意 将初始为空的序列的末尾给定概率添加 \(a\) 或 \(b\),当至少有 \(k\) 对 \(ab\) 时停止(注意是"对",中间可以间隔字符),求 \(ab\) 期望对数. \(2.\) 思路 通过查看标签 通过阅读题面我们容易发现本题是一道期望 DP,但是本题的状态并不很容易想到,设 \(f[i][j]\) 表示前缀中有 \(i\) 个 \(a\),\(j\) 个 \(ab\…
题面在这里 题意 给定三个数\(k,pa,pb\),每次有\(\frac{pa}{pa+pb}\)的概率往后面添加一个'\(a\)',每次有\(\frac{pb}{pa+pb}\)的概率往后面添加一个'\(b\)'当出现了\(k\)个形如'\(ab\)'的子序列(不用连续)时停止.求最后的形如'\(ab\)'的子序列个数的期望.答案对\(1e9+7\)取模. \(k\leq 1000\) sol 一看到\(k\leq 1000\)马上想到\(f[i][j]\)表示已经有\(i\)个\(a\),目…
题目链接:New Year and Arbitrary Arrangement 题意: 有一个ab字符串,初始为空. 用Pa/(Pa+Pb)的概率在末尾添加字母a,有 Pb/(Pa+Pb)的概率在末尾添加字母b,当出现≥k个ab子串时立即停止添加字母,求最后期望的ab子串个数.(子串ab不要求连续) 例子:当k=1,aab含2个ab,bbabbab时不可能出现的,因为到了bbab就会停止添加字母. 题解: 期望DP DP果然是智商的分界线 orz @.@#,这题题意其实我也没看太懂,后来看了别人…
期望\(DP\) 方法总结 这个题目太大了,变化也层出不穷,这里只是我的一点心得,不定期更新! 1. 递推式问题 对于无穷进行的操作期望步数问题,一般可用递推式解决. 对于一个问题\(ans[x]\), 我们可以考虑建立逻辑转移: \[ans[now] = Merge(\ \ Function(ans[now])\ ,\ Function(ans[other])\ \ )\] 那么我们进行移项后, \[ans[now]\ Delete\ Function(ans[now])\ \ =\ \ Fu…
[题目]Good Bye 2017 D. New Year and Arbitrary Arrangement [题意]给定正整数k,pa,pb,初始有空字符串,每次有pa/(pa+pb)的可能在字符串末尾+a,有pb/(pa+pb)的可能在字符串末尾+b,求加到组成至少k对子序列“ab"时的期望子序列“ab”数.k<=1000,pa,pb<=10^6. [算法]期望DP [题解]主要问题在于字符串无限延伸,那么需要考虑记录前缀的关键量来为DP设置终止状态. 设f[i][j]表示前缀…