bzoj 3036(期望dp)
来源:互联网 发布:南京奥派软件 编辑:程序博客网 时间:2024/06/07 03:05
传送门
题解:
1A,稳。我感觉好像~似乎~也许~学会期望dp的皮毛了。。。
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int MAXN=1e5+4,MAXM=MAXN<<1;int head[MAXN],etot=0;struct EDGE {int v,nxt,w;}e[MAXM];double f[MAXN];bool vis[MAXN];int n,m;inline int read() {int x=0,f=1;char c=getchar();while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}while (c>='0'&&c<='9') x=x*10+c-'0',c=getchar();return x*f;}inline void adde(int u,int v,int w) {e[etot].nxt=head[u],e[etot].v=v,e[etot].w=w,head[u]=etot++;}double dfs(int p,int fa) {if (f[p]) return f[p];int deg=0;for (int i=head[p];~i;i=e[i].nxt) {int v=e[i].v;if (v^fa) dfs(v,p),++deg;}for (int i=head[p];~i;i=e[i].nxt) {int v=e[i].v;if (v^fa) f[p]+=(f[v]+e[i].w)/deg;}return f[p];}int main() {//freopen("bzoj 3036.in","r",stdin);memset(head,-1,sizeof(head));memset(vis,false,sizeof(vis));memset(f,0,sizeof(f));n=read(),m=read();for (register int i=0;i<m;++i) {int u=read(),v=read(),w=read();adde(u,v,w);}printf("%.2lf\n",dfs(1,0));return 0;}
阅读全文
0 0
- bzoj 3036(期望dp)
- bzoj 3450(期望dp)
- bzoj 4318(期望dp)
- bzoj 1419(期望dp)
- 【bzoj 1426】收集邮票(期望DP)
- bzoj 1076(状压dp)(期望dp)
- BZOJ 4318 OSU! 期望DP
- BZOJ 4318 OSU!(期望DP )
- bzoj 4318 OSU! 期望dp
- bzoj 3640(期望与DP)
- bzoj 4008(期望与DP)
- bzoj 1419(期望与dp)
- bzoj 3450(期望与DP)
- bzoj 4318: OSU! 期望dp
- BZOJ 4318 OSU!期望DP
- BZOJ 4318: OSU! 期望dp
- bzoj 3036: 绿豆蛙的归宿 (拓扑序+概率期望DP)
- bzoj 3036: 绿豆蛙的归宿 期望dp
- GIT学习笔记(3)
- git add -u与-A .三者的区别
- 跟我一起学Keras之实例篇(2)
- WebView基础三:WebView优化
- 深入理解java虚拟机—虚拟机字节码执行引擎
- bzoj 3036(期望dp)
- spring不使用插件进行文件上传返回数据
- 算法(三):动态规划
- CodeForces
- 区间DP code forces 245H
- IT 与OT
- CSDN-markdown编辑器的使用
- 异步提交表单包括文件在内
- Socket描述符解释