![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
概率&期望dp
pbihao
这个作者很懒,什么都没留下…
展开
-
【poj 2151】Check the difficulty of problems 概率dp
题意:m到题T个队伍,给出每一个队伍做出每一道题的概率,询问所有队伍都至少解决一道题目且做的最多的队伍做的题目大于等于n的概率。感觉还是一道很有趣的dp。首先考虑求至少每一个队伍都至少解决一道题目可以怎么解决?这个很简单,可以先算出每个队一道题都解决不了,然后用1减去就可以了。现在考虑至少有一个队伍要求解决的题目的数目超过n该如何解决,类似于刚才的想法我们社p为所有队伍都解决不了超过等于n原创 2017-01-04 14:56:28 · 222 阅读 · 0 评论 -
【BZOJ 3036】绿豆蛙的归宿 期望dp
f[i]表示i到n的期望步数,刷水有益身心健康#include#include#include#define maxn 200020using namespace std;int n,m,tot=1,head[maxn],q[maxn],out[maxn],vis[maxn];double f[maxn];struct edge{int w,v,next;}e[maxn];vo原创 2017-01-04 15:25:18 · 228 阅读 · 0 评论 -
【BZOJ 3450】Tyvj1952 Easy 期望概率dp+吐槽
这道题也是迷,但是还算不错的概率期望dp题目吧,看了很多博客半天也没说清楚转移。首先我们考虑当前连续o的长度为x那么他对答案做出的贡献就是x^2-(x-1)^2所以化简下来就是x^2-x^2+2*x-1所以我们设d[x]表示当前的长度,贡献就是2*d[x]-1(这个还是好推吧)前两种情况是比较好推的当前为x,字符断开d[i]=0,f[i]=f[i-1]当前为o,字符接上d[i]原创 2017-01-04 16:51:13 · 317 阅读 · 0 评论 -
【BZOJ 2318】Spoj4060 game with probability Problem 概率
什么也不说了,%http://blog.csdn.net/Vmurder/article/details/46467899#include#include#includeusing namespace std;int T,n;double f[1050],g[1050];double p,q;int main(){ scanf("%d",&T); while(T--原创 2017-01-04 17:50:24 · 210 阅读 · 0 评论 -
【BZOJ 2438】[中山市选2011]杀人游戏 概率+联通分量
Tarjan缩点以后对于所有入度为一的点ans++最后特判只有一个点,且无出度或者出度的点都可以被其他查出的情况#include#include#include#define maxn 300020#includeusing namespace std;vectorg[maxn];int n,m,head[maxn],sccno[maxn],in[maxn],ans,size[m原创 2017-01-04 21:04:21 · 287 阅读 · 0 评论 -
【BZOJ 2510】弱题 循环矩阵
#include#include#include#define maxn 1021using namespace std;int nu[maxn][maxn],n,m,k;double mat[maxn],e[maxn],ans[maxn],f[maxn],F[maxn];int last[maxn][2];inline int Q(int x){ if(x==0)return原创 2017-02-05 22:06:33 · 226 阅读 · 0 评论 -
【BZOJ 2134】单选错位 概率
就是求前后两个答案一样的概率:(1/a[i])*(1/a[i+1])*min(a[i],a[i+1])->1.0/max(a[i],a[i+1])#include#include#include#define maxn 10000021using namespace std;int n,a[maxn];void pre(){ int A,B,C; scanf("%d%d%d原创 2017-02-06 08:46:34 · 285 阅读 · 0 评论 -
【BZOJ 1419】Red is good 期望dp
设f[i][j]表示还剩i张红牌,j张黑牌的期望得分,不难写出方程f[i][j]=max(0,(f[i-1][j]+1)*i/(i+j)+(f[i][j-1]-1)*j/(i+j));然后。。居然mle就只好滚动咯#include#include#include#define maxn 5021using namespace std;double f[2][maxn];原创 2017-02-06 09:10:28 · 402 阅读 · 0 评论 -
【BZOJ 3566】 [SHOI2014]概率充电器 树上概率dp
首先明确,这里每一个节点的权值都是1,所以求期望就是求概率,答案=每一个节点通电的概率和,但是直接求通电的概率很不好求所以转化一下,求不通电的概率,然后1去就好了。又由于是一棵树所以很不好处理,对于一个节点来说有三种可能通电:1.自己通电 2.由儿子导过来4.父亲导过来f[i]表示由下而上不能充电的概率 g[i]表示由上而下不能充电的概率最后答案就是:∑1-f[i]*g原创 2017-02-06 11:07:27 · 246 阅读 · 0 评论