luogu1352没有上司的舞会 分析(树形DP模板题): 没学树形DP的,看一下. 把该题抽象到一颗树中,设i的下属就是他的儿子,则有两种情况: 如果i参加,他的儿子就不能参加. 如果i不参加,他的儿子可参加可不参加. 所以设f[i][1]表示i参加,f[i][0]表示i不参加,则有 f[i][]+=max(f[j][],f[j][]); f[i][]+=f[j][]+w[i]; //j是i的儿子 所以 ans=max(f[i][],f[i][]) //最大快乐指数 得到基础代码:(很粗略,不…
<题目链接> <转载于>>> > 题目描述: 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了.所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数. 输入格式: 第一行一个整数N.(1<=N<=6000) 接下来N行…
题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了.所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数. 输入输出格式 输入格式: 第一行一个整数N.(1<=N<=6000) 接下来N行,第i+1行表示i号职员的快乐指数Ri.(-128<=Ri…
题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了.所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数. 输入输出格式 输入格式: 第一行一个整数N.(1<=N<=6000) 接下来N行,第i+1行表示i号职员的快乐指数Ri.(-128<=Ri…
华山论剑(没有上司的舞会) 题目描述 一日,小策如往常一般打开了自己的传奇,刚上线不久,就收到了帮主的私信.原来帮派里要召开一次武功比拼,让他来邀请各帮派人员,因为有些侠客还是萌新,所以需要小策挨个选取战力高的侠客. 本帮派--华山,实行了师徒制,每位侠客都有自己的师傅,师傅也有自己的师傅,一直到本帮派帮主. 每位侠客都有自己的战力,因为本次比拼会在全区直播,大家肯定愿意看更加激烈的战斗,所以肯定是战力越高越好. 但是还有一个要求,当邀请了一位侠客的师傅的时候,便不能再邀请那位侠客了. 请你帮助…
5401 没有上司的舞会 0x50「动态规划」例题 描述 Ural大学有N名职员,编号为1~N.他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司.每个职员有一个快乐指数,用整数 H_i 给出,其中 1≤i≤N.现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会.在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值. 输入格式 第一行一个整数N.(1<=N<=6000)接下来N行,第i+1行表示i号职员的快乐指数H_i.(…
题目链接 设f[i][0]表示第i个人不去舞会时子树的最大欢乐度,f[i][1]表示第i个人去舞会时子树的最大欢乐度. 则有状态转移方程:f[i][0]+=∑max(f[to][0],f[to][1]) f[i][1]+=∑f[to][0] 其中to是i的所有直连子节点. 初始化:f[i][1]=第i个人自己的欢乐度. 我发现好像我做过的树形DP都是基于DFS搞的.这可能是个规律. #include <cstdio> #include <cstring> #include<a…
题目链接:https://www.luogu.org/problemnew/show/P1352 题意:给定n个结点,每个结点有一个权值,给n-1条边,n个结点构成一棵树.并且规定一个结点的父结点如果存在,则该结点不能存在,若父结点不存在,则子结点可以存在也可以不存在.求存在的结点权值和最大是多少. 思路:树形DP经典题.我们用dp[i][0]表示以i结点为顶点不存在时的该子树权值和的最大值,dp[i][1]表示以i结点为顶点存在时该子树权值和的最大值.这样就有如下状态转移方程: dp[x][0…
f[i,0] 表示 第i个人不参加舞会 f[i,1] 表示 第i个人参加舞会 f[i,1]=sigma(f[j,0])+v[i]   j 为 i 的孩子 f[i,1]=sigma(max(f[j,0],f[j,1]))   j 为 i 的孩子 ans=max(f[root,0],f[root,1]) Program CODEVS1380; type arr=record u,v,next:longint; end; ; ..maxn] of arr; last:..maxn] of longin…
Ural大学有N名职员,编号为1~N. 他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司. 每个职员有一个快乐指数,用整数 HiHi 给出,其中 1≤i≤N1≤i≤N. 现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会. 在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值. 输入格式 第一行一个整数N. 接下来N行,第 i 行表示 i 号职员的快乐指数HiHi. 接下来N-1行,每行输入一对整数L, K,表示K是L的直…