日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【BZOJ3036】绿豆蛙的归宿 概率DP

發(fā)布時(shí)間:2023/12/9 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【BZOJ3036】绿豆蛙的归宿 概率DP 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

鏈接:

#include <stdio.h> int main() {puts("轉(zhuǎn)載請(qǐng)注明出處[輾轉(zhuǎn)山河弋流歌 by 空灰冰魂]謝謝");puts("網(wǎng)址:blog.csdn.net/vmurder/article/details/46467217"); }

題解:

呃。拓?fù)鋱D上從后往前掃就好了Qwq

代碼:

#include <queue> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define N 101000 using 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; }

總結(jié)

以上是生活随笔為你收集整理的【BZOJ3036】绿豆蛙的归宿 概率DP的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。