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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【NOI2012】迷失游乐园【概率期望】【换根dp】【基环树】

發(fā)布時間:2023/12/3 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【NOI2012】迷失游乐园【概率期望】【换根dp】【基环树】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

傳送門

題意:給一棵nnn個點的帶邊權(quán)樹或基環(huán)樹,隨機選一個點作為起點,每次隨機走到一個相鄰未走過的位置,直到無路可走。求期望路徑長度。

n≤105n \leq 10^5n105,為基環(huán)樹時環(huán)的大小不超過202020

先考慮樹怎么做廢話

先只考慮從根往下走

顯然就是

fu=∑v∈son(u)w(u,v)+f(v)∣son(u)∣f_u={\sum_{v\in son(u)}w(u,v)+f(v) \over|son(u)|}fu?=son(u)vson(u)?w(u,v)+f(v)?

考慮其他位置

再考慮強制第一步往上走,然后強行不走回來的期望為ggg

方程見代碼

對于基環(huán)樹,fff不受影響。

對于環(huán)上的點兩個方向帶著走到這里的概率和距離轉(zhuǎn)一圈,算出ggg,樹上點方程不變。

然后就可以了

#include <iostream> #include <cstdio> #include <cstring> #include <cctype> #define MAXN 100005 #define MAXM 200005 using namespace std; struct edge{int u,v,w;}e[MAXM]; int head[MAXN],nxt[MAXM],cnt; inline int read() {int ans=0;char c=getchar();while (!isdigit(c)) c=getchar();while (isdigit(c)) ans=(ans<<3)+(ans<<1)+(c^48),c=getchar();return ans; } void addnode(int u,int v,int w) {e[++cnt]=(edge){u,v,w};nxt[cnt]=head[u];head[u]=cnt; } int n,m,son[MAXN]; double F[MAXN],G[MAXN]; namespace Tree {void dfs(int u,int f){for (int i=head[u];i;i=nxt[i])if (e[i].v!=f){++son[u];dfs(e[i].v,u);F[u]+=F[e[i].v]+e[i].w;}if (son[u]) F[u]/=son[u];}void DFS(int v,int f){int u=e[f].u;G[v]=e[f].w+((u==1&&son[u]==1)? 0:((G[u]+F[u]*son[u]-F[v]-e[f].w)/(son[u]-(u==1))));for (int i=head[v];i;i=nxt[i])if (e[i].v!=u)DFS(e[i].v,i);}void solve(){dfs(1,0);for (int i=head[1];i;i=nxt[i]) DFS(e[i].v,i);double ans=F[1];for (int i=2;i<=n;i++) ans+=G[i]/(son[i]+1)+F[i]*son[i]/(son[i]+1);printf("%.5f",ans/n);} } namespace Circle {bool vis[MAXN],isrt[MAXN];int rt[MAXN],w[MAXN],tot,tmp;void findroot(int u,int f){vis[u]=true;for (int i=head[u];i;i=nxt[i])if (!vis[e[i].v]&&e[i].v!=rt[1]){findroot(e[i].v,u);if (isrt[e[i].v]&&e[i].v!=tmp) isrt[rt[++tot]=u]=true,w[tot]=e[i].w;}elseif (e[i].v!=f&&e[i].v!=rt[1])isrt[rt[tot=1]=u]=true,w[1]=e[i].w,tmp=e[i].v;vis[u]=false;}void DFS(int v,int f){int u=e[f].u;if (isrt[u]) G[v]=e[f].w+2.0/(son[u]+1)*G[u]+(F[u]*son[u]-F[v]-e[f].w)/(son[u]+1);else G[v]=e[f].w+(G[u]+F[u]*son[u]-F[v]-e[f].w)/son[u];for (int i=head[v];i;i=nxt[i])if (e[i].v!=u)DFS(e[i].v,i);}void solve(){findroot(1,0);for (int t=1;t<=tot;t++){int u=rt[t];for (int i=head[u];i;i=nxt[i])if (!isrt[e[i].v])++son[u],Tree::dfs(e[i].v,u),F[u]+=F[e[i].v]+e[i].w;if (son[u]) F[u]/=son[u];}for (int i=1;i<=tot;i++){double p=0.5;int dis=0;for (int j=i%tot+1;j!=i;j=j%tot+1){dis+=w[j];if (j%tot+1==i) G[rt[i]]+=p*(dis+F[rt[j]]);else G[rt[i]]+=p*son[rt[j]]/(son[rt[j]]+1)*(dis+F[rt[j]]);p*=1.0/(son[rt[j]]+1);}p=0.5,dis=w[i];for (int j=(i==1? tot:i-1);j!=i;j=(j==1? tot:j-1)){if (i%tot+1==j) G[rt[i]]+=p*(dis+F[rt[j]]);else G[rt[i]]+=p*son[rt[j]]/(son[rt[j]]+1)*(dis+F[rt[j]]);p*=1.0/(son[rt[j]]+1);dis+=w[j];}}for (int t=1;t<=tot;t++){int u=rt[t];for (int i=head[u];i;i=nxt[i])if (!isrt[e[i].v])DFS(e[i].v,i);}double ans=0;for (int i=1;i<=n;i++) ans+=(isrt[i]+1)*G[i]/(son[i]+isrt[i]+1)+F[i]*son[i]/(son[i]+isrt[i]+1);printf("%.5f",ans/n); } } int main() {n=read(),m=read();for (int i=1;i<=m;i++){int u,v,w;u=read(),v=read(),w=read();addnode(u,v,w);addnode(v,u,w);}if (m==n-1) Tree::solve();else Circle::solve();return 0; }

總結(jié)

以上是生活随笔為你收集整理的【NOI2012】迷失游乐园【概率期望】【换根dp】【基环树】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 最新一区二区三区 | 美女脱光衣服让男人捅 | www.youjizz.com日本 | 一级a毛片免费观看久久精品 | 都市激情校园春色 | 日韩视频在线观看一区二区 | 中文字幕观看av | www.天天操.com | 欧美三级色图 | heyzo朝桐光一区二区 | 亚洲不卡av一区二区 | 影音先锋伦理片 | 欧美老熟妇又粗又大 | 国模一区二区 | 亚洲国产剧情在线观看 | 国产一二三区在线 | 在线一二区 | 最新中文字幕免费 | 一区二区精品在线 | 51精品| 色哟哟视频在线观看 | 老司机午夜免费视频 | 不卡一区二区三区四区 | 日韩视频免费在线观看 | 你懂的在线观看网址 | 福利电影一区二区 | 亚洲综合图色40p | 男男做爰猛烈啪啪高 | www.尤物| av久草| 黄色一级免费网站 | 中国女人和老外的毛片 | 亚洲第五页 | 性视频网 | heyzo朝桐光一区二区 | 超碰久操 | 色网站免费 | 在线你懂的视频 | 久久婷婷综合国产 | 爱色成人网 | 精品日韩制服无码久久久久久 | 91亚洲国产 | 国产主播第一页 | 精品视频一区二区三区 | 国产精品自拍在线 | 色男人的天堂 | 欧美色老头old∨ideo | 亚洲成人1区 | 一本到久久 | av黄色影院 | 91视频观看 | 亚洲精品免费网站 | 日韩欧美精品国产 | 亚洲美女中文字幕 | 国产aⅴ精品 | 女仆裸体打屁屁羞羞免费 | 日韩一级欧美 | 潘金莲三级80分钟 | av波多野吉衣 | 99久久99久久精品免费看蜜桃 | 久久女人天堂 | 无码精品国产一区二区三区 | 欧美日一区二区 | 国产成人亚洲欧洲在线 | 日韩高清在线一区 | 国产自偷自拍 | 亚洲小视频网站 | 久久精品国产亚洲av麻豆 | 久久综合社区 | 亚洲欧美a | 日本a级在线 | 91丨国产丨白丝 | 波多野结衣福利 | 二区三区不卡 | 青青草www | 91久久精品日日躁夜夜躁国产 | 韩国一级淫一片免费放 | 精品国偷自产在线 | 亚洲欧美在线播放 | 在线免费黄色片 | 黑人一区二区三区四区五区 | 在线免费一区 | 日韩精品一区二区三区不卡 | 国产精品免费视频一区二区 | 日韩视频免费观看 | 我的公把我弄高潮了视频 | 亚洲福利视频网站 | 欧美一级黄色片视频 | 锦绣未央在线观看 | 中文字幕乱码人妻一区二区三区 | 性爱视频在线免费 | 日韩欧美激情 | www色综合 | 亚洲精品国产精品国 | 天天干天天做 | 大尺码肥胖女系列av | 女人下面喷水视频 | 欧美成人精品欧美一级乱黄 | av成人免费在线观看 |