【ybt】【树形DP】【例题2】结点覆盖

存储关键技术·RAID技术·RAID2.0·华为RAID2.0+·华为服务器·云计算 一.RAID基本概念 常见的RAID级别组合RAID级别 二.RAID的数据组织形式 三.RAID的数据保护功能 方法一:镜像方法二:奇偶校验算法(XOR) 四.RAID热备和重构 1.热备(Hot Spare)的定义2.热备的分类3.热备的工作原理 五.RAID 2.0技术 1.RAID 2.02.RAID 2.0+3.华为RAID 2.0+ 六.RAID 2.0+块虚拟化技术 1.什么会出现RAID 2.0+技术?2.什么是RAID 2.0?3.RAID 2.0+的原理是什么? 阅读详情

结点覆盖

L i n k Link Link


在这里插入图片描述

解题思路

这是一道树形DP。
设 f i , 0 f_{i,0} fi,0​ 表示以 i i i 为根的子树全部被覆盖, i i i 的父亲被选的最小值。
f i , 1 f_{i,1} fi,1​ 表示 i i i 被选的最小值。
f i , 2 f_{i,2} fi,2​ 表示 i i i 的儿子被选在最小值。

code

#include<iostream>
#include<cstdio>
using namespace std;

int n;
int a[2010];
int f[2010][3];
int hd[2010],tot;

struct abc{
	int to,nxt;
}b[3010];

void add(int x,int y)
{
	b[++tot]=(abc){y,hd[x]};
	hd[x]=tot;
}

void dfs(int x,int fa)
{
	int minn=0x3f3f3f3f;
	f[x][1]=a[x];
	for(int i=hd[x];i;i=b[i].nxt)
	{
		int y=b[i].to;
		if(y==fa) continue;
		dfs(y,x);
		f[x][0]+=min(f[y][1],f[y][2]);
		f[x][1]+=min(f[y][0],min(f[y][1],f[y][2]));
		f[x][2]+=min(f[y][1],f[y][2]);
		minn=min(minn,(f[y][1]<f[y][2]?0:f[y][1]-f[y][2]));
	}
	f[x][2]+=minn;
}

int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		int x,y,m;
		scanf("%d",&x);
		scanf("%d%d",&a[x],&m);
		for(int j=1;j<=m;j++)
		{
			scanf("%d",&y);
			add(x,y),add(y,x);
		}
	}
	dfs(1,0);
	printf("%d",min(f[1][1],f[1][2]));
}
【模型构建器教程】教你在ArcGIS中如何按照字段值批量导出shp文件 阅读详情

相关推荐

Ansys Lumerical实战:5步搞定Mach-Zehnder调制器多物理场仿真(附眼图分析技巧)

本文详细介绍了使用Ansys Lumerical进行行波马赫-曾德尔调制器多物理场仿真的完整流程。通过CHARGE、MODE和INTERCONNECT三大模块的协同工作,从电学参数提取、光学射频特性分析到系统级眼图评估,分步解析了高效仿真与性能优化的核心技巧,为硅光调制器设计提供了实战指南。

weixin_29056781的博客 542

【ybtoj 树形DP课堂过关】【例题2】结点覆盖

设f[x][0]为第x个节点放士兵的最小士兵费 f[x][1]为第x个节点不放,被子节点监视的最小士兵费 f[x][2]为第x个节点不放,被父节点监视的最小士兵费

蒟蒻的OI路 248

并网逆变器学习笔记5---三电平DPWM

三电平DPWM

圆桌骑士的博客 1万+

【Ybt OJ】[动态规划 第4章] 树形DP [前半章]

「「「动态规划」」」第444章 树形DP(DP(DP(前222题))) 目录: A.树上求和 B.结点覆盖 A.A.A. 例题111 树上求和 洛谷linklinklink 分析: 之前写过blogblogblog fi,0f_{i,0}fi,0​表示iii不来时开心最大值 fi,1f_{i,1}fi,1​表示iii来时开心最大值 方程: fi,0=∑max(fson,1,fson,0)f_{i,0}=\sum max(f_{son,1},f_{son,0})fi,0​=∑max(fson,1​,fso

绫 215

【MATLAB】绘制泽尼克多项式

上次只给了公式没有给代码,很多小伙伴表示不是很认可。今天直接把代码发上来了。

HPC_ZY 5578

激光雷达+相机标定避坑指南:手把手教你用KITTI数据完成坐标转换

本文详细介绍了激光雷达与相机标定的实战指南,利用KITTI数据集完成精准坐标转换。从数据准备、工具链搭建到标定矩阵加载与验证,再到坐标转换流水线的工程实现,提供了全面的避坑技巧和工程实践建议。特别强调了多传感器融合中的常见问题及解决方案,帮助开发者提升自动驾驶和机器人感知系统的环境感知精度。

book8的博客 835

YBTOJ 树形dp

Link 我们用0/10/10/1表示一个点的选与不选 那么f[i][1]=f[i][1]+f[to][0]f[i][1]=f[i][1]+f[to][0]f[i][1]=f[i][1]+f[to][0], f[i][0]=f[i][0]+max(f[to][1],f[to][0])f[i][0]=f[i][0]+max(f[to][1],f[to][0])f[i][0]=f[i][0]+max(f[to][1],f[to][0]) 动态方程就出来了 这一板块昨晚,就就发现一个树形dp的共同点:通过dfs对

DL24yanjun的博客 249

斯坦福HumanPlus机器人核心技术解析:从HST强化学习框架到HIT模仿学习的实现路径

本文深入解析了斯坦福HumanPlus人形机器人的核心技术实现路径。其核心在于HST强化学习框架与HIT模仿学习架构的协同:HST作为“小脑”,通过rsl_rl框架在仿真中训练稳健的低级运动控制;HIT作为“大脑”,基于改进的Transformer架构学习高级任务规划。文章详细拆解了从算法原理、代码实现到硬件部署的全流程,为复现这一前沿机器人系统提供了实战指南。

weixin_29082143的博客 281

YbtOJ 树形DP问题课堂过关 例2 节点覆盖【树形DP】

题目 给出一棵有根树,要求选出一些结点。若选中某个结点,则它本身、它的父亲结点和儿子结点被覆盖。选出第 iii 个结点需要一定的花费 Wi\mathcal W_iWi​,求覆盖这棵树所需的最小花费。 思路 这道题我们设 fi,0/1/2f_{i,0/1/2}fi,0/1/2​ 表示选到第 iii 个点时的最小花费。然后0表示选自己,1表示选父亲,2表示选儿子。在回溯时转移即可。 代码 #include<iostream> #include<cstdio> using namespac

JA_yichao欢迎你 cnblogs账号:https://www.cnblogs.com/mayichao/ 355

【机器学习|评价指标8】混淆矩阵(Confusion Matrix)、Cohen‘s Kappa 系数、详解,平均交并比(mIoU)、列联表(Contingency Table)附代码。

【机器学习|评价指标8】混淆矩阵(Confusion Matrix)、Cohen's Kappa 系数、详解,平均交并比(mIoU)、列联表(Contingency Table)附代码。

2401_89898861的博客 1430

ThingsBoard PE专业版解决方案技术文档——温度&湿度

温湿度解决方案

weixin_67440240的博客 820

结点覆盖【树形DP】

>Link ybtoj结点覆盖 >Description 给出一棵有根树,要求选出一些结点。若选中某个结点,则它本身、它的父亲结点和儿子结点被覆盖。选出第 iii 个结点需要一定的花费 aia_iai​,求覆盖这棵树所需的最小花费。 >解题思路 树形DP。一开始写只设置了两种方式,怎么都过不了QAQ原来要设三种%%% fi,kf_{i,k}fi,k​表示以iii为根的子树全部被覆盖,iii 被覆盖的方式为kkk的最小花费 方式kkk: k==0k==0k==0,选择 iii 的父亲

//(^ o ^)// 412

Python 中 dpkt 库的详细使用指南(强大的 Python 数据包解析库)

dpkt 是一个功能强大的 Python 网络数据包解析库,支持解析和构造以太网、IP、TCP/UDP 等多种协议的数据包。其核心功能包括解析各层协议头部、读写 pcap 文件、构造自定义数据包及分析 HTTP 流量等。dpkt 提供简单易用的 API,适用于网络分析、安全研究和流量监控场景。优化技巧包括数据包过滤、批量处理和选择性解析以提高性能,常见问题如数据不完整或协议识别错误可通过异常处理和字段验证解决。典型应用场景涵盖协议分析、网络调试和自定义数据包生成。

数据知道的博客 1万+

树形dp总结+例题

树形DP的特殊性:没有环,dfs是不会重复,而且具有明显而又严格的层数关系。 判断数据结构是否是一棵树,然后是否符合动态规划的要求。 建树:通过数据量和题目要求,选择合适的树的存储方式。 如果节点数小于5000,那么我们可以用邻接矩阵存储,如果更大可以用邻接表来存储,注意边要开到2*n,因为是双向的。如果是二叉树或者是需要多叉转二叉,那么我们可以用两个一维数组brother[],child[]来存...

weixin_43819578的博客 381

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【ybt高效进阶5-4-2】结点覆盖(树形DP)

给你一棵树,选一个点有各自的费用。 然后选一个点可以覆盖它,它的儿子和它的父亲。 问你要覆盖整一个树的最小费用。

欢迎您的光顾awa 197

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【B+树操作实例】实例讲解插入、删除元素的过程

基本概念 B+树是B树的变种,常用于数据库和操作系统的文件系统中。由于B+树的非叶节点只存有其子树的的索引,而真正的数据元素都在同一层,即都在叶节点上,所以其插入与删除元素具有稳定的对数时间复杂度。对于一棵m阶的B+树(m代表子树的最大数量),有如下特性: 每个节点至多有m个子树 除根结点外,每个结点至少有[m/2]个子女,根结点至少有两个子女 有k个子女的结点必有k个关键字 实例讲解 对B+树的插入和删除操作可以遵循以下口诀: 以4阶B+树为例,假设非叶节点保存的关键字是子节点的最大值。 在

Jay_Wooz的博客 2141

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

poj 1463 树形dp 最小点覆盖

poj 1463 树形dp 最小点覆盖

wintowanti 1124

hdu1054 最小点覆盖/树形DP

题目链接:Strategic Game 两种做法 (1)最小点覆盖=最大匹配(匈牙利) #include #include #include using namespace std; const int maxn = 1505; bool vis[maxn]; int link[maxn]; vectorg[maxn]; int n; int dfs(int u){

pmt123456的博客 658

求最小点覆盖----树形dp

最小点覆盖 鲍勃喜欢玩电脑游戏,特别是战略游戏,但有时他找不到足够快的解决办法,然后他很难过。现在他有了以下问题。他必须保卫一座中世纪的城市,这座城市的道路形成了一棵树。他必须把最小数量的士兵放在节点上,这样他们才能观察到所有的边缘。你能帮他吗? 您的程序应该找到Bob必须为给定的树设置的最小士兵数。 例如,对于树: 解决方案是一名士兵(在节点1处)。 输入 输入包含几个文本格...

小糊涂的博客 865

树形DP—最小点覆盖

  对于最小覆盖点,每个点只有两种状态,即属于点覆盖或者不属于点覆盖:   1. dp[i][1] 表示点 i 属于点覆盖,并且以点 i 为根的子树中所连接的边都被覆盖的情况下点覆盖级中所包含最少点的个数。   对于此状态,dp[i][1],等于每个儿子节点的两种状态的最小值之和 + 1,dp转移方程:   dp[i][1] = 1 + ∑ (u取ii的子节点) min(dp[u][0],dp[u...

桃夭丶的博客 1282

二分图【判定、最大匹配、最小点覆盖、最小路径覆盖及例题】

一、最大匹配 定义:给定一个二分图G,在G的一个子图M中,M的边集E中的任意两条边都不交汇于同一个结点,则称M是一个匹配。选择边数最大的子图称为最大匹配问题\color{red}{ 定义:给定一个二分图G,在G的一个子图M中, M的边集{E}中的任意两条边都不交汇于同一个结点,则称M是一个匹配。选择边数最大的子图称为最大匹配问题 }定义:给定一个二分图G,在G的一个子图M中,M的边集E中的任意两条...

qq_43803508的博客 1149

【POJ - 1463】Strategic game (树上最小点覆盖,树形dp)

题干: Bob enjoys playing computer games, especially strategic games, but sometimes he cannot find the solution fast enough and then he is very sad. Now he has the following problem. He must defend a me...

xuanweiace的博客 792

【Ybtoj 第22章例2】结点覆盖【树形DP】

解题思路 个节点被覆盖只有三种可能:设fx,0/1/2f_{x,0/1/2}fx,0/1/2​ 分别表示被父亲/孩子/自己/覆盖,可以得到转移方程: fx,0=∑fsonx,0f_{x,0}=∑f_{son_x,0}fx,0​=∑fsonx​,0​ (因为他被自己的父亲覆盖,所以它本身及它的子节点都不能选,若选了儿子,就会被儿子再覆盖,故子节点只有000的状态) fx,1=min(fsonx,1−min(fsonx,1,fsonx,0))+∑min(fsonx,0,fsonx,1)f_{x,1}..

在人间贩卖声音 299

【ybt2021.11.12】T2 字典之序

T2 字典之序 link 解题思路 考虑贪心。 在选每个字母的时候要保证它的后面有所有没有出现过的字母。 每次从后往前找到直到每个未出现过字母都存在,记录下标。 在上一次操作的下标后一位到找到的下标之间取最小的字母。 可以保证这样找到的字符串字典序最小。 code #include<iostream> #include<cstring> #include<cstdio> #include<string> using namespace std; stri

你...你不要过来啊!!! 780

【ybt】【数据结构 RMQ 课过 例3】与众不同

与众不同 题目链接:YbtOJ 解题思路 设 lastilast_ilasti​ 表示 iii 上一次出现的位置。 设 preipre_iprei​ 表示以 iii 结尾的最长完美序列的启示位置,显然 prei=max⁡(prei−1,lastai)pre_i=\max(pre_{i-1},last_{a_i})prei​=max(prei−1​,lastai​​) 。 我们先处理出 lastlastlast 和 preprepre ,然后二分出一个 lenlenlen,lenlenlen 的左边可以直

你...你不要过来啊!!! 517

【冲刺 NOIP2022 模拟赛 B 组 Day5】B. 选择人员

【冲刺 NOIP2022 模拟赛 B 组 Day5】B. 选择人员

你...你不要过来啊!!! 461
上一篇: 【ybt】【树形DP例1】树上求和
下一篇: 【ybt】【状压DP】【例题1】种植方案
SSL_GYX
博客等级 码龄7年 103粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值