【BZOJ】3036 绿豆蛙的归宿 期望DP
来源:互联网 发布:java 设置特定时间 编辑:程序博客网 时间:2024/04/30 02:28
题目传送门
补一发期望DP,这道题困扰了我很久了,今天终于A掉了,比较开心:)
f[i]=∑j∈son[i]f[j]+dis(i,j)deg[i]
上面就是整道题的核心,只要从第一个节点开始DFS就行了。
附上AC代码:
#include <cstdio>#include <cctype>#define N 100010using namespace std;struct side{int to,w,nt;}s[N<<1];int n,m,x,y,w,h[N],num,dig[N];double ans[N];bool b[N];inline char nc(){static char ch[100010],*p1=ch,*p2=ch;return p1==p2&&(p2=(p1=ch)+fread(ch,1,100010,stdin),p1==p2)?EOF:*p1++;}inline void read(int& a){static char c=nc();int f=1;for (;!isdigit(c);c=nc()) if (c=='-') f=-1;for (a=0;isdigit(c);a=a*10+c-'0',c=nc());a*=f;return;}inline void add(int x,int y,int w){s[++num]=(side){y,w,h[x]},h[x]=num,++dig[x];}inline void so(int x){if (!b[x]) b[x]=1; else return;for (int i=h[x]; i; i=s[i].nt)so(s[i].to),ans[x]+=s[i].w+ans[s[i].to];if (dig[x]) ans[x]/=dig[x];return;}int main(void){read(n),read(m);for (int i=1; i<=m; ++i) read(x),read(y),read(w),add(x,y,w);so(1),printf("%.2lf",ans[1]);return 0;}
阅读全文
0 0
- bzoj 3036: 绿豆蛙的归宿 期望dp
- 【BZOJ 3036】绿豆蛙的归宿 期望dp
- [BZOJ 3036]绿豆蛙的归宿:期望DP
- 【BZOJ】3036 绿豆蛙的归宿 期望DP
- BZOJ 3036: 绿豆蛙的归宿 期望dp
- BZOJ 3036 绿豆蛙的归宿 期望DP
- [BZOJ]3036 绿豆蛙的归宿 期望dp
- Bzoj 3036: 绿豆蛙的归宿(期望)
- BZOJ 3036: 绿豆蛙的归宿|概率与期望
- BZOJ 3036 绿豆蛙的归宿 期望动规
- bzoj 3036: 绿豆蛙的归宿 (拓扑序+概率期望DP)
- [bzoj3036]绿豆蛙的归宿 期望DP
- 【bzoj3036】绿豆蛙的归宿 期望dp
- [概率DP] BZOJ 3036 绿豆蛙的归宿
- [BZOJ3036]绿豆蛙的归宿 ——期望DP
- [BZOJ3036]绿豆蛙的归宿(拓扑序+期望dp)
- BZOJ3036-绿豆蛙的归宿-概率与期望-DP
- BZOJ3036[绿豆蛙的归宿] 期望概率DP
- ARM NEON常用函数总结
- bzoj 3233: [Ahoi2013]找硬币 动态规划
- Caused by: java.lang.ClassNotFoundException: org.aopalliance.intercept.MethodInterceptor
- 多线程-线程控制之加入线程
- java常用视频资料汇总
- 【BZOJ】3036 绿豆蛙的归宿 期望DP
- Java微信支付开发之公众号支付(微信内H5调起支付)
- 散列表(Hash table)
- 聊聊左闭右开区间
- vim多文件复制粘贴
- 53 C语言逻辑运算符
- 【Redis】redis两种备份方式
- BZOJ3672: [Noi2014]购票 树分治 斜率优化
- [速成]了解一致性hash算法