设f[i]为i在子树内不与充电点连通的概率。则f[i]=(1-pi)·∏(1-qk+qk·f[k])。

  然后从父亲更新答案。则f[i]=f[i]·(1-qfa+qfa*f[fa]/(1-qfa+qfa*f[i]))。

  比较好想的dp。注意第二个式子可能会除0。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
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<<1)+(x<<3)+(c^48),c=getchar();return x*f;
}
#define N 500010
int n,P[N],p[N],t=0;
double f[N],ans=0;
struct data{int to,nxt,len;
}edge[N<<1];
void addedge(int x,int y,int z){t++;edge[t].to=y,edge[t].nxt=p[x],edge[t].len=z,p[x]=t;}
void dfs(int k,int from)
{f[k]=1-P[k]/100.0;for (int i=p[k];i;i=edge[i].nxt)if (edge[i].to!=from){dfs(edge[i].to,k);f[k]*=(f[edge[i].to]-1)*edge[i].len/100+1;}
}
void getans(int k,int from)
{for (int i=p[k];i;i=edge[i].nxt)if (edge[i].to!=from){double q=edge[i].len/100.0;if (f[edge[i].to]>0) f[edge[i].to]*=1-q+q*f[k]/(1-q+q*f[edge[i].to]);getans(edge[i].to,k);}
}
int main()
{
#ifndef ONLINE_JUDGEfreopen("bzoj3566.in","r",stdin);freopen("bzoj3566.out","w",stdout);const char LL[]="%I64d\n";
#elseconst char LL[]="%lld\n";
#endifn=read();for (int i=1;i<n;i++){int x=read(),y=read(),z=read();addedge(x,y,z),addedge(y,x,z);}for (int i=1;i<=n;i++) P[i]=read();dfs(1,1);getans(1,1);for (int i=1;i<=n;i++) ans+=1-f[i];printf("%.6lf",ans);return 0;
}

转载于:https://www.cnblogs.com/Gloid/p/9709183.html

BZOJ3566 SHOI2014概率充电器(动态规划+概率期望)相关推荐

  1. BZOJ3566 [SHOI2014]概率充电器 (树形DP概率DP)

    3566: [SHOI2014]概率充电器 Description 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品--概率充电器: "采用全新纳米级加工技术,实现元件与 ...

  2. [BZOJ3566][SHOI2014]概率充电器

    B. 概率充电器 题目描述 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品--概率充电器: "采用全新纳米级加工技术,实现元件与导线能否通电完全由真随机数决定!SHOI ...

  3. 【SHOI2014】【BZOJ3566】概率充电器

    Description 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品--概率充电器: "采用全新纳米级加工技术,实现元件与导线能否通电完全由真随机数决定!SHOI 概 ...

  4. BZOJ 3566: [SHOI2014]概率充电器 期望DP + 树形DP

    Time Limit: 40 Sec Memory Limit: 256 MB Submit: 1276 Solved: 558 Description 著名的电子产品品牌 SHOI 刚刚发布了引领世 ...

  5. 【概率与期望】【SHOI2014】概率充电器

    [描述] 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品--概率充电器: "采用全新纳米级加工技术,实现元件与导线能否通电完全由真随机数决定! SHOI 概率充电器,您 ...

  6. 【BZOJ】3566: [SHOI2014]概率充电器

    [算法]树型DP+期望DP [题意]一棵树上每个点均有直接充电概率qi%,每条边有导电概率pi%,问期望有多少结点处于充电状态? [题解]引用自:[BZOJ3566][SHOI2014]概率充电器 树 ...

  7. 洛谷 P4284 [SHOI2014]概率充电器 解题报告

    P4284 [SHOI2014]概率充电器 题目描述 著名的电子产品品牌SHOI 刚刚发布了引领世界潮流的下一代电子产品-- 概率充电器: "采用全新纳米级加工技术,实现元件与导线能否通电完 ...

  8. [SHOI2014]概率充电器 dp

    [SHOI2014]概率充电器 时间限制: 4 Sec   内存限制: 256 MB 题目描述 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品--概率充电器: "采用全 ...

  9. 动态规划 —— 概率 DP 与期望 DP

    [概述] 由于概率和期望具有线性性质,使得可以在概率和期望之间建立一定的递推关系,这样就可以通过动态规划来解决一些概率问题,例如概率和期望的最值问题就常常使用概率 DP.期望 DP 来解决. 与其他的 ...

  10. 和Leo一起做爱数学的好孩子之[SHOI2014]概率充电器

    著名的电子产品品牌SHOI 刚刚发布了引领世界潮流的下一代电子产品-- 概率充电器: "采用全新纳米级加工技术,实现元件与导线能否通电完全由真随机数决 定!SHOI 概率充电器,您生活不可或 ...

最新文章

  1. 图像处理库(fbc_cv):源自OpenCV代码提取
  2. mysql顺序结构_MySQL学习之流程结构
  3. [Linux] 不带JRE版本的LumaQQ安装方法
  4. mate30升级鸿蒙系数据会被清空吗,145直接升级鸿蒙会不会掉资料
  5. vuex-class用法
  6. Netty的引用计数对象
  7. yarn : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本
  8. 想要挑战成功的hongjin2
  9. Python模块之 __future__
  10. 2017.3.3 拔河比赛 思考记录
  11. Silverlight Blend动画设计系列二:旋转动画(RotateTransform)
  12. python主线程执行_python主线程与子线程的结束顺序实例解析
  13. 使用Python下载百度云文件
  14. 最新Axure谷歌浏览器Chrome扩展程序安装方法
  15. python matrix用法_详解使用python绘制混淆矩阵(confusion_matrix)
  16. pdf文件怎么编辑,如何修改pdf文字
  17. 水果店开业如何做开店活动,新水果店开业需要做哪些促销活动
  18. 【mcuclub】蓝牙模块-ECB02
  19. 逆向最大匹配分词RMM
  20. win10系统dnf安装不上服务器失败,win10系统玩DNF提示图标系统组建失败的解决方法...

热门文章

  1. mysql的如何输入dateadd_mysql中date_add()函数的使用?
  2. 给gridview动态生成radiobutton添加OnCheckedChanged事件
  3. C#学习之三层架构实例
  4. 后台开发经典书籍--大型分布式网站架构设计与实践
  5. 小米面试题:合并二叉树
  6. 3次握手中的最后一个ACK服务端收到了吗
  7. 汇编: mul乘法指令
  8. Spring系列教程四:Spring对Bean的管理细节
  9. 一招教你掌握肌肉发力的感觉
  10. RxJava 和 RxAndroid 三(生命周期控制和内存优化)