首页 > 没有上司的舞会
头像 瑜画
发表于 2020-08-07 21:42:18
不懂树形dp的先看这里,已经会了的大神直接略过。。。最大独立子集最大独立子集的定义是,对于一个树形结构,所有的孩子和他们的父亲存在排斥,也就是如果选取了某个节点,那么会导致不能选取这个节点的所有孩子节点。有向图和无向图是大同小异的,介于本题是有向图,直接简单的叙述有向图的最大独立子集。首先,全局数组 展开全文
头像 lifehappy
发表于 2020-08-09 18:43:40
没有上司的舞会 思路 树形dp入门经典题 里面的关系是一个树状的无环图,每个节点我们显然有两种取法,参加派对,不参加派对,所以状态转移方程就出来了 参加派对 ,上司参加了舞会,其直系下属不能参加舞会 不参加派对 ,上司没有参加舞会,其直系下属可以参加,也可以不参加。 代码 /* Author 展开全文
头像 Jason237
发表于 2019-08-31 10:13:25
我又回来惹! 这次发的还是dp(逃 众所周知,dp分类极为广泛,最基础的有背包dp,线性dp,然后就是dp与各种算法的结合,例如与图论结合的DAG上的dp以及树性dp,与倍增结合的倍增dp,与位运算结合的状压dp...这次我要发惹就是树性dp的一道板子题“没有上司的舞会” 首先,我们来明确一下树形d 展开全文
头像 在刷题的单身狗很开心
发表于 2023-10-19 17:12:03
题目中的意思翻译过来其实是在一颗数上相邻的节点只能选择一个,那么最大的和为多少。 那么对于每一个节点来说就有选与不选两种状态:dp[i][0/1] 如果选的话那么以这个节点为根的子树最大和为:dp[i][1] = (f[i]+(所有子树和)dp[u][0]); 如果不选的话那么对于子树来说就有选 展开全文
头像 奕羿
发表于 2023-08-08 11:54:48
思路: 用连接表的方式存储图 找到根节点,即最高上司,bd[N]表示有父节点,默认为false 树形DP:每个人有两种选择,去或者不去舞会,用f[N][2]来存储,f[n][1]表示标号为n的人去舞会,最大的开心值;f[n][0]表示标号为n的人不去舞会,最大的开心值。依次递归处理其子节点。最后根 展开全文
头像 威风镰鼬
发表于 2021-06-16 23:37:36
思路 树形dp基础题型,dp[i][0]表示i不选中时的最大快乐指数,dp[i][1]表示i选中时的最大快乐指数,所以我们只要先找到一个根节点,然后向下dfs,dp[root][0]和dp[root][1]的较大值就是答案。从下往上状态转移,我们先搜索到叶子节点,然后求出父节点的dp[i][0]和d 展开全文
头像 Ray.C.L
发表于 2020-08-09 10:32:39
思路:dp[i][0]就表示以i节点为根节点,不选i节点的最大值,dp[i][1]表示以i节点为根节点,选择i节点的最大值,我们建好图,然后v为u的子节点,当u节点不选的时候,那么后面v节点选和不选我们找一个最大值dp[u][0]+=max(dp[v][0],dp[v][1])。当u节点选的时候那么 展开全文
头像 回归梦想
发表于 2020-08-26 17:21:35
来源:牛客网: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 Ural大学有N名职员,编号为1~N。 他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。 每个职员有一个快乐指数, 展开全文
头像 Z_L_G
发表于 2025-05-14 23:25:42
题意 给定一颗n个结点的树,结点编号1~n,每个结点有权值,一个点选择以后,它的父亲就不可以被选,输出能选出的最大权值 思路 对于每个点,都有选和不选两种情况,当一个点选的时候,所有的儿子都不能选,当一个点不选的时候,每个儿子取选和不选的最大值即可,维护一个二维dp数组,状态转移方程如下 注 展开全文
头像 ZZZYM
发表于 2022-03-08 17:56:19
没有上司的舞会 思路 f[i][0]:在以f[i][0]: 在以f[i][0]:在以i为根的子树中选,不选i的最大快乐值;为根的子树中选,不选i的最大快乐值;为根的子树中选,不选i的最大快乐值;f[i][1]$:选i的最大快乐值 递归实现,复杂度O(n−1)O(n-1)O(n−1),n−1n-1n 展开全文

等你来战

查看全部