题目描述

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

输入格式

第一行一个整数N。(1<=N<=6000)

接下来N行,第i+1行表示i号职员的快乐指数Ri。(-128<=Ri<=127)

接下来N-1行,每行输入一对整数L,K。表示K是L的直接上司。

最后一行输入0 0

输出格式

输出最大的快乐指数。

输入输出样例

输入 #1

7
1
1
1
1
1
1
1
1 3
2 3
6 4
7 4
4 5
3 5
0 0

输出 #1

5

于是可以的出不选BOSS节点的子树最大值

dp[BOSS][0]+=range(i:子树)max(dp[i][0],dp[i][1]);

画图不易,留个?!

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
vector<int>E[maxn];
int n,w[maxn],r[maxn][2],root,rd[maxn];
int dp(int ver)
{r[ver][1]=w[ver];r[ver][0]=0;for(int j=0;j<E[ver].size();j++){int y=E[ver][j];dp(y);r[ver][0]+=max(r[y][0],r[y][1]);r[ver][1]+=r[y][0];}
}
int main(){scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%d",&w[i]);for(int i=1,x,y;i<=n-1;i++){scanf("%d%d",&x,&y);E[y].push_back(x);rd[x]++;}for(int i=1;i<=n;i++)if(rd[i]==0){root=i;break;}//cout<<root<<endl;dp(root);printf("%d\n",max(r[root][1],r[root][0]));return 0;
}

洛谷 P1352 没有上司的舞会(树形 DP)相关推荐

  1. 洛谷 P1352 没有上司的舞会

    洛谷 P1352 没有上司的舞会 Description 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会, ...

  2. 洛谷P1352 没有上司的舞会(树形DP水题)

    题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri, ...

  3. 洛谷 P1352 没有上司的舞会【树形DP/邻接链表+链式前向星】

    题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri, ...

  4. 洛谷P1352 没有上司的舞会题解

    题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri, ...

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

    题目描述 某大学有 nn 个职员,编号为 1\ldots n1-n. 他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司. 现在有个周年庆宴会,宴会每邀请来一个职 ...

  6. 洛谷 [P1352] 没有上司的舞会

    树型DP 一个人不能和他的直接上司一起去,那么就分别保存这个人去和不去的最大值 注意转移方程 #include <iostream> #include <cstring> #i ...

  7. AcWing285. 没有上司的舞会(树形DP)题解

    题目传送门 题目描述 Ural大学有N名职员,编号为1~N. 他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司. 每个职员有一个快乐指数,用整数 HiHi 给出,其中 1≤i≤N. 现在要 ...

  8. [洛谷 P4084 USACO17DEC] Barn Painting G (树形dp经典)

    [洛谷 P4084 USACO17DEC] Barn Painting G 题目链接 大致题意: 给定一颗N个节点组成的树,3种颜色,其中K个节点已染色,要求任意两相邻节点颜色不同,求合法染色方案数 ...

  9. 【洛谷P4084】Barn Painting【树形DP】

    题目大意: 题目链接:https://www.luogu.org/problemnew/show/P4084 一棵nnn个节点的树上有kkk个点已被染色.求将这棵树染成三种颜色且相邻的节点颜色不同的方 ...

最新文章

  1. React-Native 使用真机和指定模拟器调试
  2. STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法!
  3. 【视频】vue指令之v-else-if
  4. 从vuex源码分析module与namespaced
  5. 日常使用Git,这些问题你遇到过吗?
  6. 11月中30个精心设计的网站案例精选
  7. C#EF中,使用类似于SQL中的% 模糊查询
  8. openstack搭建
  9. console.log 用法
  10. Java NIO学习篇之通道Channel详解
  11. 吝啬的国度(dfs)
  12. 【Hive】条件函数
  13. 悟空CRM测试用例执行,项目评审
  14. 第四届泰迪杯数据挖掘挑战赛B题数据预处理-数据导入(Matlab)
  15. Word中使用表格排版公式时,表格内序号纵向居中的问题。
  16. rust怎么建柱子_原神慈盐之末任务怎么做?原神钟离传说任务的方碑柱子点亮顺序...
  17. SAP中MIGO采购订单收货项目默认OK小技巧
  18. (最新最详细)安装ubuntu18.04
  19. wasc honeypot
  20. Android之如何学习

热门文章

  1. php必须掌握的库,PHP初學者必須掌握的10個知識點
  2. java并发中的延迟初始化
  3. AFNetwork作用和用法详解
  4. Linux基础命令---cpio
  5. 数学沉思录:古今数学思想的发展与演变 (Mario Livio 著)
  6. 20170429,上市公司2016年报全出炉(附最新排行榜)
  7. JavaScript解析Json字符串
  8. GridView中列表的“双击事件”
  9. 算法积分0042算法笔记——【随机化算法】计算π值和计算定积分
  10. Fedora16安装mplaye和smplayer