poj 2057 好题

51单片机STC8G1K08驱动ws2812记录 使用51单片机控制17个2812灯,这里选择STC8芯片,最大频率可以达到35M,参考网上的各种文章案例,使用定时器做的时候实测做不到规格书要求的245-345ns,STC8G1K08不带PWM,所以只能使用nop来做,好在单片机在这里只有做编程灯的功能,省略测试过程,下面是程序,使用的是24MHz内部晶振 //设置一个灯珠 void SendOnePix(unsigned char *ptr) { unsigned char i,j; unsigned char temp; fo... 阅读详情

他说的对,他说的好

#include <iostream>
#include <cstdio>
#include <iomanip>
#include <string>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <set>
#include <vector>
#include <map>
#include <algorithm>
#include <cmath>
#include <stack>

#define INF 0x3f3f3f3f
#define LINF 0x3f3f3f3f3f3f3f3f
#define ll long long
#define ull unsigned long long
#define uint unsigned int

using namespace std;

vector<int> v[1111];
bool bug[1111];
int n;
struct Node {
	int leaf, s0, s1;
}node[1111];

bool cmp(int a, int b) {
	return (node[a].s0 + 2)*node[b].leaf < (node[b].s0 + 2)*node[a].leaf;
}

void dfs(int u) {
	if (v[u].size() == 0) {
		node[u].leaf = 1;
		node[u].s1 = node[u].s0 = 0;
		return;
	}

	for (int i = 0; i < v[u].size(); i++) {
		int now = v[u][i];
		dfs(now);
		node[u].leaf += node[now].leaf;
		if (bug[now]) node[now].s0 = 0;
		node[u].s0 += node[now].s0 + 2;
	}

	sort(v[u].begin(), v[u].end(), cmp);

	int leaf = 0, sum = 0;
	for (int i = 0; i < v[u].size(); i++) {
		int now = v[u][i];
		node[u].s1 += node[now].s1 + (sum + 1)*node[now].leaf;
		sum += node[now].s0 + 2;
	}
}

int main() {
	int n, x;
	char ch;
	while (scanf("%d", &n), n){
		memset(bug, 0, sizeof(bug));
		memset(node, 0, sizeof(node));
		for (int i = 0; i <= n; i++)v[i].clear();

		for (int i = 1; i <= n; i++) {
			scanf("%d %c", &x, &ch);
			if (x != -1)v[x].push_back(i);
			if (ch == 'Y') bug[i] = 1;
		}
		dfs(1);
		double ans = (double)node[1].s1 / node[1].leaf;
		printf("%.4lf\n", ans);
	}
	return 0;
}
Vue Print Designer——一款让打印模板的设计变简单的可视化打印设计器 阅读详情

相关推荐

SECS/GSM 测试工具 SecsExpress 的配置与实战应用

本文详细介绍了半导体设备通讯测试工具SecsExpress的配置与实战应用。作为专业的SECS/GSM协议调试工具,它能模拟Host与设备端进行双向测试,帮助工程师快速部署、验证通讯链路,并高效排查与RMS系统或真实设备间的联调问题,是提升半导体工厂设备集成与维护效率的利器。

yhn456789的博客 298

poj 2057 树形dp+贪心(蜗牛找家的期望值)

题意:一只小蜗牛爬树的时候从树枝的末端(也就是从叶子结点)上掉了下来,但是它的壳子还留在上面。于是它从根节点去寻找它的壳子(但是它完全忘记了之前走过的路)。在路途中有些节点上可能住着虫子,虫子可以告诉小蜗牛它之前来没来过。假如壳子在每个叶子节点上的概率相等,为蜗牛选出一条路,使得所需要走的路程的期望最小。 思路:树形dp+贪心,完全自己想出来的,开心!! 显然可以构造状态dp[x][0]表示目

dearmango 612

STM32H723串口接收全为0 & CAN错误中断问题

STM32H723串口接收全为0 和 叠加的导致CAN错误问题

weixin_38743772的博客 3916

poj 2057 树形DP,数学期望

题目链接:http://poj.org/problem?id=2057 题意:有一只蜗牛爬上树睡着之后从树上掉下来,发现后面的"房子"却丢在了树上面, 现在这只蜗牛要求寻找它的房子,它又得从树根开始爬起,现在要求一条路径使得其找到房子 所要爬行的期望距离最小. 爬行距离如下计算, 题目规定每一个分支和枝末都看做是一个节点, 这些节点之间的距离都是1, 在分支上可能会有热心的毛毛虫, 这些...

weixin_33720078的博客 224

基于FPGA与红外成像的眼动追踪系统设计与实现(教学向)

本文详细介绍了基于FPGA与红外成像的眼动追踪系统设计与实现。通过红外摄像头采集图像,利用FPGA进行实时图像处理和红外瞳孔追踪,结合Verilog编程实现多目标检测与瞳孔定位。该系统适用于嵌入式视觉教学,展示了硬件搭建、算法优化及实时显示的完整流程。

g5h6i7j的博客 823

双向可控硅控制后续篇:过零检测电路、丢波、斩波、定时

双向可控硅功率控制技巧,掌握AC负载的控温控速等。

qq_42289734的博客 3万+

POJ 2057 树状 DP

题意 传送门 POJ 2057 题解 对于某个节点,有屋子在其子树上与不在其子树上两种情况。求步数的最小期望,因为叶子节点数固定,遍历每一种可能的走法,求走到每一个节点(此时假设屋子在该节点)的最小步数和即可。 对于屋子在与不在节点 iii 子树上的情况,记为 suci,failisuc_{i},fail_{i}suci​,faili​ ;对于其子树的叶子节点数,记为 sonison_{i}soni​ 。考虑到判断屋子不在屋子上的情况,需要搜索每一条分支 failp=∑ch在p的子树上(failch+2)f

neweryyy的博客 271

Vue3 - 实现集成配置百度语音识别转文字,长按或开启录音并将录音文件实时转换为文字,上传音频文件利用百度语音识别API转换为文本并展示(vue3百度智能云API实现上传录音文件并转换成文字案例)

vue3对接百度智能云语音识别,vue3 h5移动端网页中实现语音识别,百度语音识别录音转文字_百度智能云,vue3如何使用百度语音识别,如何将语音转文字,使用vue3实现录音并将录音转换为文字,vue3如何实现语音输入功能功能,vue3集成百度智能云API实现录音转文字详细教程完整示例代码demo,VUE3使用百度语音识别语音转文字,vue调用百度语音识别,vue3百度语音识别文字并展示功能,vue3免费语音转文本api,百度语音识别申请配置教程,Vue3项目配置自定义界面百度语音识别转文字和原生使用方式

🏆 前端领域优质创作者 2726

poj 2057 树形dp ,特别考思路的好题。

<br /><br />poj 2057 虽然是树形dp<br />题目描述:现在你在树根上,你的房子在任意一个叶子上面,然后你要找遍所有的叶子取找你的房子,没选择一条路,你必须走到叶子或者树的分支上面可能有一些毛毛虫,他们可以告诉你后面的叶子有没有房子,如果没有你就可以返回。现在让你求出找到房子的期望。<br /> <br /> <br />但是其实这个问题不算是dp ,或者说是dp 的弱化,其实是重点是考察一个分析的能力<br />首先拿道这个题目的想到了树形dp 要求的折返,和不折返的情况,但是怎么解

mindmb的专栏 1413

k230+CanMV+micropython环境下byte、int、hex、string之间的转换常用函数实测

【代码】k230+CanMV+micropython环境下byte、int、hex、string之间的转换常用函数实测。

weixin_47446386的博客 119

COMSOL有限元仿真深度指南:为结构件添加预应变

一、什么是预应力和预应变? 我们知道,结构力学问题中,结构件在外载荷作用下产生变形响应以吸收外载荷做功带来的能量;而在结构内部,整体的受力和变形则是通过固体微元的应力与应变传递的。 对于线弹性材料来说,应力与应变的关系可以线性表达,也即 σ=Dεσ = Dεσ=Dε ;在该式中,无论固体微元的应变程度多大,弹性矩阵DDD都是一个不变的常值。而对于超弹性材料来说,应力与应变的关系则需要通过应变能密度函数WWW来表征(详细参加博客《COMSOL有限元仿真深度指南:超弹性模型有限元分析入门》)。 从上面我们也不难

忘了面孔的Batou 7170

poj 2057 树形dp

这个题目需要先推出已知顺序下的递推计算公式,然后再通过计算交换相邻两项的差值来找出贪心的策略。 #include #include #include #include using namespace std; const int maxn=1e3+9; int fa[maxn],fb[maxn],leaves[maxn]; bool is[maxn]; int head[maxn],lo

yrleep的专栏 729

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【树形DP】【poj 2057】The Lost House

http://poj.org/problem?id=2057 这道题很久以前就看到过,一直没看懂题,所以就一直放着 先学好英语,然后就可以做了 这篇论文里讲得很清楚 http://wenku.baidu.com/link?url=t2T0VjAbXPHk1tEM0o8f8orqAbDT34Xs0mAGDq4fxylFsla1RENJhrWgPmq6P7-DkhenpY9ASThFD

willinglive 522

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

poj2057-树状dp

第一次写树状dp,完全没什么概念,而且这题看了感觉好复杂,看了好几个人的解题报告,想了一段时间才想明白那个转移方程的含义,这几份报告都很详细,最后按http://blog.sina.com.cn/s/blog_5f5353cc0100hd08.html的思路写的,由于第一次写,所以加了很多注释,也仿照了其他博主的代码,越写越感觉到树状dp的神奇,不过要能独自相处转移方程,确实还有待提升,加油!

NiaNiaJR的专栏 986

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

POJ 2057

好多wa的答案 = = 此处记录一个AC的 #include <cstdio> #include <cstring> #include <algorithm> using namespace std ; #define eqs 1e-8 struct node{ int u , v ; int next ; }edge[1010] , t...

一只菜鸟夹 388

pku 2057 The Lost House 树形DP

http://poj.org/problem?id=2057 题意:  蜗牛的房子遗失在了一棵树的某个叶子结点上,它要从根结点出发开始寻找它的房子。有一些中间结点可能会住着一些虫子,这些虫子会告诉蜗牛它的房子是否在以这个中间结点为根的子树上,这样蜗牛就不用白跑路了。当然,如果有些结点没有住着虫子的话,那么可怜的蜗牛只有靠自己决定访问顺序来探索了。假设蜗牛走过一条边的耗费都是1,且房子遗失在每个...

weixin_33712987的博客 147

POJ 2057 The lost house

这道题求的是期望。 首先,一看到期望,就会想到可以将问题分成若干个子问题,再分开算期望,所以这道题可以使用动态规划。 注意到每个叶子有房子的概率是均等的。所以答案就是遍历每个叶子最少的步数/叶子的总数。 所以问题划归为求遍历所有叶子的最少步数。 我们令fail[x]为以x为根的子树找不到房子的最少步数。 su[x]为以x为根的子树中找到房子最少步数。 le[x]为以x为根的子树中叶子的

AChunter的专栏 1332

树形DP——POJ1947 and POJ2486

本文针对POJ上的2057、1947、2486、3140四道题目,谈一下个人对树形DP的理解,上面4题无法覆盖树形DP的所有形式,但也有一定的针对性,值得去做一做,思考一下: 树形DP中常常用到“背包思想”,1947和2486就是利用了“背包思想”,状态想好了,最后就是在填“背包”,某个节点的“背包”是用他们的子树的状态进行填充的。 POJ1947:状态dp[i][p]表示以节点i为根

whosemario的专栏 1793

POJ2057

题目的关键是达到某个节点的时候,以怎样的顺序去遍历它的子树呢? 我们假设某个节点有两个子树A和B,我们定义Pa是Snail的Home位于A子树中的叶节点上的概率,Pb是Snail的Home位于B子树中的叶节点上的概率;Sa是Home位于A子树上所要走的路程,Fa是Home不在A子树上所要走的路程,Sb和Fb同理。假设先走A树再走B树,所走的步数为:Sa*Pa+(Fa+Sb)*Pb;如果是先走B树

whosemario的专栏 1400

poj2057——the lost house

题目大意:蜗牛把壳落在一个树的叶子结点了,壳在每个叶节点的概率相同,它在根节点处开始爬,可能在树杈处遇到虫子告诉他壳是否在这个子树中,每个节点间距离为1,问他找到壳的爬行距离的最小期望 输入:(包含几个数据集)             树的结点个数n             第i个结点的父亲结点 是否有虫子(Y/N)             结点个数n为0//表示输入结束 输出:爬行距离

tzyshiwolaogongya的博客 261

poj 2057 && 1947

两道树形 dp 题目:http://poj.org/problem?id=2057 题意:蜗牛的房子丢在了树上的某个节点上(每个节点的可能性相同),有些节点上有虫子,可以告诉蜗牛它的房子是不是在以这个节点为根的子树上,蜗牛找到房子的最小数学期望值是多少。 首先期望是:找到房子走的步数 / 叶子节点的总数。叶子节点总数是固定的,那么走的步数越少,期望值也就越小,因为一个节点可能有多个孩子,从不...

weixin_30318645的博客 84

【POJ2057】The Lost House【TreeDP】

【题目链接】 比较经典的一道TreeDP。 因为概率是相等的,所以我们只需要计算最小步数即可,最后答案再除以叶子节点个数。 设leaf[u]表示以u为根的子树中叶子节点的个数。 设fail[u]表示以u为根的子树中,从u出发,找房子失败后,回到u点,按最优策略走的步数。 设succ[u]表示以u为根的子树中,从u出发,并成功找到房子,按最优策略走的步数。 最优策略即我们要找

BraketBN 530

poj-2057

// 252K 32MS C++ #include #include #include #include #include #include using namespace std; const int MAX = 2005; // dp[i][0]表示以该点为根的节点找不到房子时要爬行最少的距离, 这个值有什么用呢? // 这个值就是用去计算房子落在其他叶子节点

fyfcauc的专栏 668

POJ 2057 The Lost House

vjudge 智商掉线*2... 可以看成求一种遍历叶子的顺序,使得以每个叶子为终点的路径的长度之和最小.考虑设\(f_x\)表示\(x\)子树内,以\(x\)为起点到所有叶子的路径长度之和的最小值,\(g_x\)表示从\(x\)父亲走进子树\(x\)然后遍历完一遍后出来的步数(也就是没走进终点所在子树而要浪费的步数),\(s_x\)表示\(x\)子树内叶子节点个数 先考虑\(g_x\)...

weixin_30882895的博客 100

POJ题单

著名题单,最初来源不详。 直接来源:https://blog.youkuaiyun.com/a1dark/article/details/11714009 缓慢更新题解。 (1)初期 <练手> (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) <基本算法> 枚举. (poj1753,poj2965) 贪心(poj1328,poj2109,poj2586) 递归和分治法 递推 构造法(poj3295

Ice_teapoy的博客 410
上一篇: poj 2021
下一篇: POJ 2060(最小路径覆盖 = |G| - 最大匹配数)
FawkesLi
博客等级 码龄8年 21粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值