CodeForces 696B Puzzles

思维,简单树$dp$。

首先计算出每一个子树包含多少个节点,记为$f[i]$。然后就可以从$root$开始推出所有节点的期望了。

现在已知$fa$节点的答案为$ans[fa]$,假设要计算$fa$的一个儿子$v$的期望,那么$ans[v]=ans[fa]+1.0+(f[fa]-f[v]-1)/2.0$。

我画了一下样例,然后猜测了一下发现是对的......

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<iostream>
using namespace std;
typedef long long LL;
const double pi=acos(-1.0),eps=1e-8;
void File()
{freopen("D:\\in.txt","r",stdin);freopen("D:\\out.txt","w",stdout);
}
template <class T>
inline void read(T &x)
{char c = getchar(); x = 0;while(!isdigit(c)) c = getchar();while(isdigit(c)) { x = x * 10 + c - '0'; c = getchar();  }
}const int maxn=100010;
double ans[maxn];
vector<int>g[maxn];
int n,f[maxn];void dfs(int x)
{f[x]=0;for(int i=0;i<g[x].size();i++){dfs(g[x][i]);f[x]=f[x]+f[g[x][i]];}f[x]++;
}void get(int x)
{for(int i=0;i<g[x].size();i++){ans[g[x][i]]=ans[x]+1.0+1.0*(f[x]-f[g[x][i]]-1)/2.0;get(g[x][i]);}
}int main()
{scanf("%d",&n);for(int i=2;i<=n;i++){int fa; scanf("%d",&fa);g[fa].push_back(i);}dfs(1);  ans[1]=1.0; get(1); for(int i=1;i<=n;i++) printf("%.6lf ",ans[i]);printf("\n");return 0;
}

 

转载于:https://www.cnblogs.com/zufezzt/p/5798395.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018清华计算机类专业录取分数线,清华大学2018年各省录取分数线及各专业录取分数线 - 高教网...

【一批录取分数线】港澳台联招&#xff1a;630分安徽&#xff1a;理科689分&#xff1b;文科675分&#xff1b;理科定向683分北京&#xff1a;理科694分&#xff1b;文科677分福建&#xff1a;理科681分&#xff1b;文科650分甘肃&#xff1a;理科652分&#xff1b;文科637分广…

ASP.NET 对类进行XML序列化和反序列化

1 序列化方法 public void SerializeObject<T>(string Xmlname,T t){XmlSerializer ser new XmlSerializer(typeof(T));TextWriter writer new StreamWriter(Xmlname);ser.Serialize(writer, t);//要序列化的对象writer.Close();} 2 序列化方法的使用 NodeConfigInfo n…

python100内3整除while_python-循环语句-习题及答案-for-while

for 变量 in range(起始&#xff0c;终止&#xff0c;步长):循环体变量 起始while 终止条件(bool):循环体步长break continue1. 盈盈为了考验令狐冲夺冠的决心&#xff0c;要他说一百遍“我能行&#xff01;”# for i in range(0,100,1):# print("我能行")2.本金100…

怎么用计算机连接电视,电脑怎么连接电视 详细步骤【图文】

现在一般的LED电视机都有连接电脑的功能&#xff0c;如何让电脑连接电视&#xff0c;让电视的大屏幕成为电脑的显示器呢?下面给大家说明电脑连接电视详细步骤!电脑连接电视步骤&#xff1a;1 电脑连接电视所需的接口及连接线我们先来介绍一下&#xff0c;电视上需要的接口&…

PC-CSS-多浏览器支持HTML5

非IE:article, section, aside, hgroup, nav, header, footer, figure, figcaption {display: block;}IE&#xff1a;<script>document.createElement(‘article’);document.createElement(‘section’);document.createElement(‘aside’);document.createElement(‘hg…

4r照片尺寸是多大_数码照片4D、4R、6RW是什么意思,怎样调整4D照片尺寸?

数码照片4D、4R、6RW是什么意思,怎样调整4D照片尺寸?数码相机和DV进入寻常百姓家&#xff0c;有些朋友希望把外出旅游或者居家时拍的照片冲印出来&#xff0c;但是一些朋友对里面的专业说法不太熟悉&#xff0c;比如3R,4R,4D,5D,5R,6R等照片的规格和尺寸不清楚&#xff0c;其实…

javascript 盒子模型

oDiv.clientWidth---》width左右padding oDiv.clientHeight---》height上下padding oDiv.clientTop---》上边框的高度 oDiv.clientLeft---》左边框的宽度 oDiv.offsetWidth---》clientWidth左右边框的宽度 oDiv.offsetHeight---》clientHeight上下边框的高度 offsetLeft---》当…

html自定义列表 嵌套,HTML 列表

HTML 支持有序、无序和定义列表:HTML 列表有序列表The first list itemThe second list itemThe third list item无序列表List itemList itemList item在线实例无序列表本例演示无序列表。有序列表本例演示有序列表。(可以在本页底端找到更多实例。)HTML无序列表无序列表是一个…

shiro会话监听_SpringBoot集成Shiro会话管理

在Shiro中我们可以通过org.apache.shiro.session.mgt.eis.SessionDAO对象的getActiveSessions()方法方便的获取到当前所有有效的Session对象。通过这些Session对象&#xff0c;我们可以实现一些比较有趣的功能&#xff0c;比如查看当前系统的在线人数&#xff0c;查看这些在线用…

JAVA程序员面试必知32个知识点

第一&#xff0c;谈谈final, finally, finalize的区别。 final 用于声明属性&#xff0c;方法和类&#xff0c;分别表示属性不可变&#xff0c;方法不可覆盖&#xff0c;类不可继承。finally是异常处理语句结构的一部分&#xff0c;表示总是执行。finalize是 Object类的一个方法…

html 将两个标签绑在一起,基本标签2

表格的合并1.水平方向上的单元格合并可以给td标签添加一个colspan属性, 来指定把某一个单元格当做多个单元格来看待(水平方向)例如:含义: 把当前单元格当做两个单元格来看待注意点:1.由于把某一个单元格当做了多个单元格来看到, 所以就会多出一些单元格, 所以需要删掉一些单元格…

【原创】吟端午

《吟端午》人间六月艳阳天&#xff0c;粽子飘香不等闲。自古离骚东流水&#xff0c;九州沧海变桑田。创作时间&#xff1a;2016年06月08日创作背景&#xff1a;受人之约&#xff0c;赋诗为题&#xff01;转载于:https://blog.51cto.com/yanhuasanyue/1842346

libc 无法访问null_C中strlen的NULL参数

1. C语言strlen函数参数如果是NULL&#xff0c;则会出错。可以参考glibc中strlen的具体实现通常使用前可以判断一下参数是否是NULL&#xff0c;或者自己写一个strlen的实现函数。2. String LengthYou can get the length of a string using the strlen function.This function …

dom对象常用的属性和方法有哪些?

dom对象常用的属性和方法有哪些&#xff1f; 一、总结 一句话总结&#xff1a; 1、document属性和方法&#xff1a;document的属性有head&#xff0c;body之类&#xff0c;方法有各种获取element的方法 2、element的属性和方法&#xff1a;属性比如style&#xff0c;innerHTML和…

html左中右自适应布局,CSS左中右自适应布局六种方案与原理

css虽简单,但细节多,技巧性高,易学难精。如何实现左右固定300px , 中间宽度自适应&#xff1f;有如下结构左右中公有样式, 设置高,设置左右宽度固定300px,左右为红色&#xff0c;中间为黄色。.item {height: 400px;}.left,.right {width: 300px;background: #f00;}.center {bac…

cacti 忘记密码的方法

忘记密码的方法如果是admin 的密码丢失&#xff0c;id 1&#xff1b;其他用户以此类推。进入mysqlmysql> show databases; mysql> use cacti;mysql> show tables; mysql> update user_auth set passwordmd5("newpassword") where id1;新的cacti密码就是…

cr3格式是什么意思_佳能rp的cr3如何打开?修图为什么要用raw格式?转码又是什么?...

佳能rp的cr3如何打开&#xff1f;修图为什么要用raw格式&#xff1f;转码又是什么&#xff1f;这是我个人整理的广大网友的一些答案&#xff0c;不想浪费大家太多时间就在这里分享给大家希望大家可以快速理解。(搜集的广大网友的回答&#xff0c;方便大家理解&#xff0c;希望他…

SGU traffic light

占位置。。转载于:https://www.cnblogs.com/usedrosee/p/4669358.html

计算机基础应用的培养活动记录,计算机应用基础综合实训

摘要&#xff1a;《计算机应用基础综合实训(Windows7Office 2010 第3版)》是中等职业教育课程改革国家规划新教材,根据教育部2009年颁布的"中等职业学校计算机应用基础教学大纲"中职业模块的要求编写,在第2版的基础上修订而成,经全国中等职业教育教材审定委员会审定通…

cronschedulebuilder 到时还没运行完_为什么我的软件编译时没问题,运行时却出错?...

首先有件事要和大家说一下&#xff1a;我的公众号现在可以留言了&#xff01;出于种种不可抗力的原因&#xff08;你们懂的&#xff09;&#xff0c;2018 年 3 月 12 号之后注册的公众号将不带有留言功能&#xff0c;并且前三个月内注册但并未使用的公众号的留言功能也会被一并…