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

每天一个优秀提示词学习收藏 - 文本去AI化(四) 宝子们,今天不藏私啦!我把这段时间四处搜罗、潜心钻研出来的文本去AI化Prompt 提示词大礼包双手奉上,这可都是能让你的 AI 创作水平原地起飞的干货!走过路过不要错过,赶紧码住,开启你的 AI 创作进阶之旅吧! 阅读详情

结点覆盖

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]));
}
3DGS-to-PC实战指南:零代码实现3D高斯场景到点云/Mesh的高效转换 本文详细介绍了3DGS-to-PC工具如何实现3D高斯场景到点云/Mesh的高效转换,无需代码即可完成。通过实战案例和参数调优技巧,帮助用户快速掌握这一开源插件的使用方法,提升3D数据处理效率。特别适合建筑扫描、影视特效等领域的专业人士。 阅读详情

相关推荐

实验六 有源滤波器

实验六 有源滤波器一、实验目的二、仪器及设备三、预习要求画出三个电路的幅频特性曲线。四、实验内容l.低通滤波电路2.高通滤波电路3.带阻滤波电路(1)实测电路中心频率。(2)以实测中心频率为中心,测出电路幅频特性。五、实验报告六,仿真图:图 1 低通滤波器仿真图图 2 高通滤波器仿真图图 3 带阻滤波电路仿真图 一、实验目的 1.熟悉有源滤波电路构成及其特性。 2.学会测量有源滤波电路幅频特性。 二、仪器及设备 1.示波器 2.信号发生器 三、预习要求 1.预习教材有关滤波电路

胡毛毛的博客 1万+

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

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

蒟蒻的OI路 248

StarWind V2V Converter v9 虚拟磁盘转换工具使用教程 (转)

StarWind V2V Converter v9.0.1.268 是一款免费的虚拟磁盘转换工具,支持不同管理程序间的虚拟机镜像格式转换,包括VMDK、VHD/VHDX、IMG和QCOW2等格式。该工具具有窗口修复模式、零拷贝转换和管理程序切换等特色功能,能够轻松实现物理机到虚拟机的转换,并兼容主流管理程序如Hyper-V、ESXi等。使用教程详细介绍了从本地文件选择到格式转换的完整操作流程,转换过程简单高效且不影响原虚拟磁盘数据。

hsh的专栏 1482

【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

Aspice的理解

ASPICE 是由汽车行业的主要公司和组织合作开发的,包括德国汽车工业联合会(VDA)和国际汽车工作组(Automotive SIG)。其目标是通过标准化的软件开发流程,提高汽车电子系统的软件质量和可靠性。

hkj8808的博客 2016

基于CH32X035的USB双K型热电偶温度计:硬件设计、冷端补偿与信号放大详解

本文详细介绍了基于CH32X035单片机设计USB双K型热电偶温度计的完整方案。重点解析了硬件设计中的核心挑战:如何利用精密运放GS8552-SR进行信号放大,以及采用NTC热敏电阻和查表法实现精确的冷端补偿。项目通过USB供电通信,实现了双路高精度温度测量与显示,为电子爱好者和工程师提供了实用的参考设计。

weixin_42153793的博客 162

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

5G-A无源物联网:深度解析“不插电“智能的底层技术原理

北京移动推出5G-A无源物联网技术,实现电动车标签"零功耗"运行。该技术通过射频能量收集(利用5G-A基站高功率信号转换为电能)和反向散射通信(调制反射信号传输数据)两大核心技术,使设备无需电池即可工作。5G-A相比4G在信号能量密度、通信速率和定位精度等方面显著提升,结合通感一体等创新技术,为无源物联网提供商用基础。该方案已在北京小区试点应用,实现电动车精准定位管理,标签寿命可达5年以上。专家预测,这项技术将大幅降低物联网部署成本,推动"万物智联"时代的到来。

通信行业老兵、物联网从业者,做一个有趣的普通人。 2014

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

WSL 运行make提示/lib/modules/xxx/build: No such file or directory. Stop.错误解决办法

WSL运行make提示/lib//modules/xxx文件或目录不存在。 WSL2的内核是修改过的,无法使用 ubuntu上游的内核头文件和modules文件,因此,我们需要手动编译并安装一个版本。

weixin_45668903的博客 1万+

Excel下拉公式不自动计算?5步彻底解决!

Excel下拉公式不自动计算?5步彻底解决!在使用Excel处理数据时,公式下拉填充是提升效率的核心操作。但许多用户都遇到过这样的困惑:明明设置了公式,下拉时结果却纹丝不动。本文将从技术原理出发,结合5步实操方案,为您彻底解析这个高频问题的根源与解决方案。

mmoo_python的博客 1万+

结点覆盖【树形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

红外图像和可见光图像异源图像配准问题研究

本文旨在研究一种具有高准确率和鲁棒性的融合图像障碍物检测技术,通过把红外和可见光图像进行图像配准和融合,获取高质量的异源融合图像,根据融合图像的特点采用有效的障碍物检测算法,将图像中的障碍物准确检出。......

G_redsky的博客 1万+

树形dp总结+例题

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

weixin_43819578的博客 381

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

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

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

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

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

欢迎您的光顾awa 197

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

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

Jay_Wooz的博客 2141

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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、付费专栏及课程。

余额充值