期望DP——景区路线规划

编程入门 行业动态 更新时间:2024-10-26 00:22:25

期望DP——<a href=https://www.elefans.com/category/jswz/34/1760120.html style=景区路线规划"/>

期望DP——景区路线规划

题解:

分开算男女的期望,因为是等概率出现各个景点,并且是等概率选择分支景点,所以记忆化搜索满意度和再除以n就行了。

#include <bits/stdc++.h>
using namespace std;
int n,m,k;
const int N=1e5+10;
int ci[N],h[N][3];
double f[105][500][3];
typedef pair<int,int> pp;
vector<pp> g[N];
double dfs(int u,int K,int id)
{if(f[u][K][id]) return f[u][K][id];int size=0;double sum=0;for(auto it:g[u]){int v=it.first,w=it.second;if(K>=w+ci[v]) size++,sum+=dfs(v,K-w-ci[v],id);}if(size) sum/=size;sum+=1.0*h[u][id];return f[u][K][id]=sum;
}
void solve()
{scanf("%d%d%d",&n,&m,&k);for(int i=1;i<=n;i++){scanf("%d%d%d",&ci[i],&h[i][0],&h[i][1]);}for(int i=1;i<=m;i++){int x,y,t; scanf("%d%d%d",&x,&y,&t);g[x].push_back({y,t});g[y].push_back({x,t});}double res1=0,res2=0;for(int i=1;i<=n;i++){if(k>=ci[i]){res1+=dfs(i,k-ci[i],0);res2+=dfs(i,k-ci[i],1);}}printf("%.5lf %.5lf\n",res1/(1.0*n),res2/(1.0*n));
}
signed main()
{solve();
}

更多推荐

期望DP——景区路线规划

本文发布于:2024-03-23 17:53:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1741064.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:景区   路线   DP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!