【BZOJ3036】绿豆蛙的归宿 概率DP
来源:互联网 发布:收入支出软件 编辑:程序博客网 时间:2024/05/16 19:45
链接:
#include <stdio.h>int main(){ puts("转载请注明出处[辗转山河弋流歌 by 空灰冰魂]谢谢"); puts("网址:blog.csdn.net/vmurder/article/details/46467217");}
题解:
呃,拓扑图上从后往前扫就好了Qwq
代码:
#include <queue>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define N 101000using namespace std;struct Eli{ int v,l,n; bool f;}e[N<<1];int head[N],cnt,d[N],D[N];inline void add(int u,int v,int l){ e[++cnt].v=v; e[cnt].l=l; e[cnt].n=head[u]; head[u]=cnt;}double f[N];queue<int>q;bool vis[N];int n,m;void bfs(){ int i,u,v; q.push(n); while(!q.empty()) { vis[u=q.front()]=true,q.pop(); for(i=head[u];i;i=e[i].n) if(!vis[v=e[i].v])q.push(v); }}int main(){ int i,u,v; int a,b,c; scanf("%d%d",&n,&m); for(i=1;i<=m;i++) { scanf("%d%d%d",&a,&b,&c); add(b,a,c),d[a]++; } for(i=1;i<=n;i++)D[i]=d[i]?d[i]:1; bfs(); q.push(n); while(!q.empty()) { u=q.front(),q.pop(),f[u]/=D[u]; for(i=head[u];i;i=e[i].n) { if(vis[u])f[v=e[i].v]+=f[u]+e[i].l; if(--d[v]==0)q.push(v); } } printf("%.2lf\n",f[1]); return 0;}
0 0
- 【BZOJ3036】绿豆蛙的归宿 概率DP
- BZOJ3036-绿豆蛙的归宿-概率与期望-DP
- BZOJ3036[绿豆蛙的归宿] 期望概率DP
- [bzoj3036]绿豆蛙的归宿 期望DP
- 【bzoj3036】绿豆蛙的归宿 期望dp
- 【bzoj3036】绿豆蛙的归宿
- bzoj3036 绿豆蛙的归宿
- bzoj3036 绿豆蛙的归宿
- BZOJ3036 绿豆蛙的归宿
- 【bzoj3036】绿豆蛙的归宿
- BZOJ3036 绿豆蛙的归宿
- [BZOJ3036]绿豆蛙的归宿 ——期望DP
- [BZOJ3036]绿豆蛙的归宿(拓扑序+期望dp)
- [BZOJ3036][codevs2488]绿豆蛙的归宿(期望dp)
- [概率DP] BZOJ 3036 绿豆蛙的归宿
- bzoj 3036: 绿豆蛙的归宿 (拓扑序+概率期望DP)
- 绿豆蛙的归宿
- 绿豆蛙的归宿
- Select()在编程中的使用
- java demo
- contextLoaderListener和dispatcherServlet初始化上下文的区别
- Android ListView的优化
- cocos2dx命令行编译打包安卓apk ndk_root not defined
- 【BZOJ3036】绿豆蛙的归宿 概率DP
- VTK图像像素拾取
- Js_Js_js
- Spark Release 1.4.0
- CGI与FastCGI
- android button 透明背景色
- Encode_1
- 17一致性哈希算法
- 局域网雨云蠕虫病毒的处理