洛谷 P1352 没有上司的舞会 树形dp

手把手教你打造CTF动态靶场 公司想搞一个CTF比赛,需要一个竞赛靶场,于是这个任务就落在了我的身上,平台是利用CTFd框架,基于docker搭建的动态靶场,搭建过程中遇到的坑比较多,这里我会把每一个遇到的坑都指出来。我搭建的是CTFd的3.X的版本。第一次搭建的话,搭建的过程会有些痛苦,但是搭建完成后会越来越熟练,这个平台的可用性还是很高的。由于搭建的过程中遇到的坑太多了,各种各样的问题,所以决定写下这篇文章,把所有的坑都指出来,也算为后边想搭这个平台的小伙伴指一条路。Taps:资源来源:星海安全实验室如果你也对网络安全&黑客。 阅读详情

题解

树形dp求解 d[i][0]表示i没参加以i为根的子树最大快乐值 d[i][1]表示i参加以i为根的子树最大快乐值
如果i不参加则可以从所有子节点j参加或者不参加转移来 即 d[i][0] = a[i] + ∑max(d[i][0], d[i][1])
如果i参加则不能从子节点j参加的情况转移来 即d[i][1] = a[i] + ∑d[j][0]
求d的过程使用dfs遍历 先递归下去回溯时计算 最后输出根去或不去取max

AC代码

#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;
const int MAXN = 6e3 + 10;
int a[MAXN], r[MAXN], d[MAXN][2]; //d[i][0]第i节点不选中i子树最大值 1选中
vector<int> b[MAXN];

void DFS(int x)
{
	d[x][0] = 0, d[x][1] = a[x];
	for (auto y : b[x])
	{
		DFS(y); //先递归回溯时计算d
		d[x][0] += max(d[y][0], d[y][1]); //如果父节点不选 则加上子节点选或者不选
		d[x][1] += d[y][0]; //如果父节点选 则只能加子节点不选
	}
}
int main()
{
#ifdef LOCAL
	freopen("C:/input.txt", "r", stdin);
#endif
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++)
		scanf("%d", &a[i]);
	for (int i = 1; i <= n; i++)
	{
		int l, k;
		scanf("%d%d", &l, &k);
		b[k].push_back(l);
		r[l] = 1;
	}
	for (int i = 1; i <= n; i++)
		if (!r[i]) //得到根
		{
			DFS(i);
			cout << max(d[i][0], d[i][1]) << endl;
		}

	return 0;
}
RISC-V V向量指令集学习笔记——访存指令 阅读详情

相关推荐

【网络安全】Centos7安装杀毒软件----ClamAV

Clam AntiVirus是一个Linux系统上使用的反病毒软件包。主要应用于邮件服务器,采用多线程后台操作,可以自动升级病毒库。

你在看屏幕的同时,屏幕也在注视着你 8828

洛谷 P1352 没有上司的舞会(树形dp)

洛谷P1352没有上司的舞会(树形dp)

鱼香rose_的博客 1105

【Anaconda】conda国内镜像源快速配置指南(清华/阿里云)

本文详细介绍了如何为Anaconda配置国内镜像源(清华/阿里云),以显著提升conda包下载速度并减少安装失败率。通过分步指南和实用技巧,帮助开发者快速完成配置,优化Python开发环境。

weixin_33725722的博客 1486

(树形dp)洛谷P1352没有上司的舞会

洛谷P1352没有上司的舞会 思路: 树形dp的模板题。 dp[i][0]表示不i结点后i子树能得到得最大值,dp[i][1]表示选了i子树后能得到得最大值。 用dfs,回溯时通过子节点向上更新信息。 dp[u][0]=∑max{dp[v][1],dp[v][0]}; dp[u][1]=a[u]+dp[v][0]; 对于找根节点,我们可以把{u,v}作为一个有向边,根节点即为入度为0的点。 代码:...

Z7784562的博客 279

激光雷达与相机融合(四)----基于激光雷达与相机的碰撞检测

在这一部分,基于前面的各个部分内容,将利用激光雷达和相机实现目标的检测分类及单目标跟踪,并对车辆前方的车辆目标计算相应的碰撞时间TTC。计算方法分别利用相机和雷达实现。 1.系统的总体架构: 2.TTC计算 简单介绍一下通过激光雷达和相机计算碰撞时间的原理: 利用激光雷达点计算碰撞时间:首先根据检测框聚类出前车目标的点,并过滤掉这些点中的离群点,然后找出这些点中相对于本车最近的点,基于前后两帧以及数据采集频率就可以求解出相对速度,然后用当前帧的距离除以速度得出当前的TTC。但该方法对最近点的选取稳定性不是

张飞飞的博客 3985

AI写作:为AI人工智能领域赋能

AI写作技术作为自然语言处理(NLP)领域的重要应用方向,正在深刻改变内容创作的方式。系统介绍AI写作的技术原理分析主流AI写作模型的架构特点提供实践性的代码示例探讨实际应用中的关键问题展望未来发展趋势本文涵盖从基础理论到高级应用的完整知识体系,适用于希望深入了解AI写作技术的开发者和研究人员。背景介绍:建立基本概念框架核心概念:解析关键技术原理算法实现:通过代码演示具体实现数学原理:深入底层数学模型实践应用:展示真实场景案例资源推荐:提供学习路径和工具。

AI天才研究院 3054

洛谷-P1352 没有上司的舞会(树形dp模板题)

洛谷-P1352 没有上司的舞会 题目 给一颗树,n 个节点,每个点都有权值,选了一个节点,那么它的儿子们就不能被选。求选取一部分节点后权值最大多少? 分析 树形dp,用记忆化搜索。 dp[x][0]dp[x][0]dp[x][0] 表示以 xxx 节点为跟的子树,不选 xxx 节点 情况下,最大权值。 dp[x][1]dp[x][1]dp[x][1] 表示以 xxx 节点为跟的子树,选 xxx ...

Stormjing的博客 283

AI绘画与医疗可视化:用AI生成医学插图的实践

医疗可视化是医学教育、临床沟通和学术研究的核心工具。传统医学插图依赖手工绘制或专业3D建模,存在制作周期长、成本高、更新迭代慢等问题。随着深度学习技术的发展,AI绘画工具(如Stable Diffusion、DALL-E)展现出强大的图像生成能力,但医疗领域对插图的解剖准确性、标注规范性和语义完整性有极高要求,通用AI模型难以直接应用。本文聚焦AI技术与医疗领域的交叉创新,系统阐述如何通过数据预处理、模型定制化训练和后处理校验,构建符合医疗标准的插图生成系统。

大模型应用工坊 1788

【树形dp】洛谷P1352 没有上司的舞会

这道题中,并没有提及这棵树的根节点是什么,所以我们要找到根节点,便于最后输出。在之前我们假设每个点 i 的父节点是他自己,后面建图时改为正确的根节点。要注意的是,如果要选择点t,先把f[t][1]加上t点的happy值。然后搜索,如果他的父节点还是自己,那他就是根节点root。建边纯纯模板,先不放部分代码。

ckh001的博客 508

SAP Fiori Elements 扩展实战:UI 层扩展、OData 服务扩展、CDS 视图增强及全流程案例

UI 层扩展主要关注在不修改标准生成界面的基础上,自定义用户界面元素和交互逻辑。典型需求包括:在现有 Fiori Elements 界面上添加新的字段(如表格列或表单项)、增加自定义按钮并绑定操作、以及通过控制器扩展加入事件处理等。无论在 RAP 还是传统 BOPF 架构下,前端 UI 扩展通常采用 SAPUI5 提供的**扩展点(Extension Points)和控制器扩展(Controller Extension)**机制来安全地插入自定义代码。下面分别说明两种后端架构下 UI 扩展的实现方式。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 902

AI Agent开发第82课-手把手教你把paddleocr-vl做成mcp使其在DIFY里运行

本文详解如何将国产顶尖多模态 OCR 模型 PaddleOCR-VL 封装为标准 MCP(Model Calling Protocol)服务,并通过自研的 HTTP-based MCP Client 接入 Dify 1.10,实现 AI Agent 在对话中自动识别并调用 OCR 能力。该方案已在某头部保险公司真实业务流程中落地,使用了当前最先进的“Agentic AI 原生”设计思想。

打造全国最全的AI Agent开发知识领域的博客 1625

洛谷P1352-没有上司的舞会(树形DP)

题目链接:https://www.luogu.com.cn/problem/P1352 博客园食用链接:https://www.cnblogs.com/lonely-wind-/p/13488159.html 题目描述 某大学有 n 个职员,编号为 1…n1\ldots n1…n。 他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。 现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 rir_iri​,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职

孤风的博客 1565

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

洛谷 P1352 没有上司的舞会(进阶指南,树形dp)

算法竞赛进阶指南,289页,树形DP 本题要点: 1、状态表示: dp[x][0] 以x为根节点的子树,x不参加,得到的最大 happy 值, dp[x][1] 就是 x参加的情况 2、状态转移方程: a) x节点不参加, dp[x][0] = 求和 max(dp[y][0], dp[y][1]) (x 的所有的孩子 y) b) x 节点参加,那么x的所有下属 y(也就是子孩子) 都不能参加 dp[x][1] = h[x] + 求和 dp[y][0] #include <cstdio> #in

qq_38232157的博客 167

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

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

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【洛谷P1352】没有上司的舞会 树形dp第二题

第一种做法 我们把每个上司之间存一个nenene数组 和popopo数组 po数组是这个点的最后一个一个儿子 ne数组是这个儿子的上一个兄弟 递归到0 类似邻接链表 然后我们知道如果你取这个点 那么 dp[1][x] = max(max(dp[1][x],dp[1][x]+dp[0][i]),dp[0][i]); 取这个点的最大值为 和它本身加上不取他儿子的最大值 和他儿子不取的最大值取个max...

我是谁 --- 卡比兽 272

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

洛谷 P1352 没有上司的舞会(树形 DP)

题目描述 某大学有N个职员,编号为1~N。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。 输入格式 第一行一个整数N。(1<...

日拱一卒,功不唐捐 2737

【树形DP】洛谷P1352_没有上司的舞会

本人第一篇Blog,初学树形DP,心情别样鸡冻... 好了废话不多说,我们来看看题目[传送门] 某大学有N个职员,编号为1~N。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程...

angsihuang3202的博客 160

洛谷 P1352 没有上司的舞会 树形DP

洛谷 P1352 没有上司的舞会 树形DP 【题目描述】 某大学有 n 个职员,编号为 1…n。 他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。 现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 ri ,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。 所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。 【输入格式】 输入的第一行是一个整数 n。 第 2 到第 (n+1) 行,每行一个整数,第

weixin_46283740的博客 393

洛谷P1352 没有上司的舞会(树形DP)

传送门 难度 [https://www.luogu.com.cn/problem/P1352](https://www.luogu.com.cn/problem/P1352) 普及+/提高 注:与POJ2342完全相同 POJ传送门 [http://poj.org/problem?id=2342](http://poj.org/problem?id=2342) ...

空空的池子 382

洛谷P1352 没有上司的舞会————树形DP

题解:本题主要考查树形DP。 简要题意:一个树,每个点有一个“快乐”值,父子结点不能同时快乐,问这个结构的最大快乐值。 1.树形DP:典型的树形DP,思考如何写出树规方程,即思考根与子节点的关系。 方程: f[1][p]=max(max(f[1][p]+f[0][i],f[1][p]),f[0][i]);f[1][p]=max(max(f[1][p]+f[0][i],f[1][p]),f[0][i...

wly1127的博客 185

洛谷 P1352:没有上司的舞会 ← 树形DP

此题是树形动态规划的经典习题。 f[u][1]表示u号结点参加时的幸福指数,f[u][0]表示u号结点不参加时的幸福指数。

hnjzsyjyj的专栏 305

[洛谷]P1352 没有上司的舞会 (#树形dp)

题目描述 某大学有N个职员,编号为1~N。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。 输入输出格式 输入格式: 第一行一个整...

A.pro的博客 210

洛谷P1352 没有上司的舞会 //经典树形dp

题意:给一棵树每个节点给定一个价值,子节点和父节点不能同时选取,求能够选取的最大价值。 用dp[u][0]表示不选取u节点的u子树(包括u在内)能获得的最大价值,dp[u][1]表示选取u节点的u子树(包括u在内)能获得的最大价值。 #include&lt;bits/stdc++.h&gt; using namespace std; int dp[10001][2],r[10010],vis...

samscream的博客 215

洛谷 P1352 没有上司的舞会 题解(树形dp模板)

题目链接 题目思路 首先这个题目和背包有点类似可以选也可以不选,但是如果选了自己,自己的直系下属就不能选了。很容易想到dp。还有这题明显 和并查集的操作有点像,需要建树。但是我还是不知道怎么做 看了题解之后,明白了树形dp,其是就是dfs+dp。因为是树所以 可以想到dfs,还有这题和自己有没有被选上的状态有关,所以设置二维数组更好。而且从题目中可以看出每个人的下属可能不止一个, 所以要用二维数组...

hunxuewangzi的博客 275

洛谷—P1352(没有上司的舞会)(树形DP模板)

题目描述 某大学有N个职员,编号为1~N。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。 输入格式 第一行一个整数N。(1<...

菜鸡的博客 303
上一篇: Codeforces Round #532 (Div. 2) C. NN and the Optical Illusion
下一篇: Balancing Act POJ - 1655 树形dp 树的重心
CaprYang
博客等级 码龄8年 147粉丝 277原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值