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

Avellaneda & Stoikov模型实战解析:如何动态调整做市策略参数 本文深入解析Avellaneda & Stoikov模型在动态调整做市策略参数中的应用,重点探讨库存状态、剩余时间、风险系数和订单深度等核心参数的实战技巧。通过加密货币市场的实际案例,展示如何根据市场波动和流动性动态调整参数,提升做市策略的盈利能力和风险控制水平。 阅读详情

结点覆盖

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]));
}
windows 10 等保3级配置核查与加固(附自动化加固脚本) 关闭注册表编辑器,然后重新启动计算机。\\r\\n 对于OPC通讯站(server\\\\client),【密码最长存留期】需要设置为0,即密码不过期。‌445端口‌:修改注册表禁用。打开命令提示符,运行命令“gpedit.msc”打开组策略编辑器,浏览到路径“本地计算机策略\\\\计算机配置\\\\Windows设置\\\\安全设置\\\\本地策略\\\\安全选项”,在右边窗格中找到“Microsoft网络客户端:将未加密的密码发送到第三方SMB服务器”,双击,配置为“已禁用”,确定。 阅读详情

相关推荐

从FrSky到TBS:深度解析航模2.4G遥控协议江湖史(附ELRS高频头改装指南)

本文深度解析了航模2.4G遥控协议的技术演进史,从FrSky ACCST的兴衰到TBS Crossfire的崛起,再到开源协议ExpressLRS的革命性突破。文章不仅对比了各协议在延迟、距离与抗干扰能力上的技术内核,还提供了为多协议遥控器加装TBS Crossfire高频头的实战改装指南,帮助玩家打通协议壁垒,提升飞行体验。

weixin_29193259的博客 737

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

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

蒟蒻的OI路 248

解忧杂货铺(四):Hightec生成HEX方法+小功能开启

Hightec使用的一些常用技能

梦想技术家 2162

【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

基于PINN的一个简单的求解偏微分方程实例

本人是做化工模拟的一名学生,最近在学习PINN(Physics-Informed Neural Networks,物理信息神经网络)对管道动力学进行建模研究,PINN由于其对机理与数据的良好兼顾性非常热门,本文是作者对PINN入门研究过程的一个练手小题目,main code也是作者代码是基于pytorch2.6.0写的,发上来供各位参考,欢迎研究管道动力学和PINN的小伙伴一起讨论~

weixin_64491760的博客 1741

swupdate-签名验证

swupdate加密部分具体在中可以查看。

qq_28219531的博客 1148

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

微信小程序推送微信服务号模板消息

微信小程序中发送微信服务号模板消息,无需用户手动确认订阅,无需绑定开放平台,无需使用UnionId。

qq_20751269的博客 1558

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

GAMIT基线解算实战:从RINEX数据准备到精度报告解读(附2024年tables更新攻略)

本文详细解析了2024年GAMIT基线解算全流程,从RINEX数据准备到精度报告解读,特别更新了tables配置攻略。涵盖工程目录设计、数据预处理、关键配置文件更新及基线解算策略优化,帮助用户掌握高精度GNSS数据处理技术,提升解算效率和结果可靠性。

weixin_42520374的博客 305

手把手教你用ROS2 Humble给PX4无人机写个“画圆”程序:从C++代码到Gazebo仿真全流程

本文详细介绍了如何使用ROS2 Humble和PX4飞控实现无人机圆形轨迹控制,涵盖从环境配置、Gazebo仿真到C++代码实现的完整流程。通过实战教程,读者将掌握轨迹跟踪仿真的核心技术,包括ROS2与PX4的通信接口、圆形轨迹算法设计及Gazebo仿真调试技巧。

weixin_29056781的博客 257

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

科研ABC - The Results Section(SCI论文写作补充)

1 前言 1.1 IMRD格式 1.2 Results部分意义 1.3 Results部分主要内容 2 Results & Discussion关系 2.1 Results & Discussion部分的搭配方式 2.2 Results & Discussion部分的区分 3 Results部分的结构 3.1 Move 1: Set the Stage 3.1....

洋洋洋2020的blog 1622

树形dp总结+例题

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

weixin_43819578的博客 381

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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

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

欢迎您的光顾awa 197

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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

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

Jay_Wooz的博客 2141

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

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

余额充值