洛谷 P1352 没有上司的舞会(树形 DP)
题目描述
某大学有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)相关推荐
- 洛谷 P1352 没有上司的舞会
洛谷 P1352 没有上司的舞会 Description 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会, ...
- 洛谷P1352 没有上司的舞会(树形DP水题)
题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri, ...
- 洛谷 P1352 没有上司的舞会【树形DP/邻接链表+链式前向星】
题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri, ...
- 洛谷P1352 没有上司的舞会题解
题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri, ...
- 洛谷 P1352 没有上司的舞会(树形dp)
题目描述 某大学有 nn 个职员,编号为 1\ldots n1-n. 他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司. 现在有个周年庆宴会,宴会每邀请来一个职 ...
- 洛谷 [P1352] 没有上司的舞会
树型DP 一个人不能和他的直接上司一起去,那么就分别保存这个人去和不去的最大值 注意转移方程 #include <iostream> #include <cstring> #i ...
- AcWing285. 没有上司的舞会(树形DP)题解
题目传送门 题目描述 Ural大学有N名职员,编号为1~N. 他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司. 每个职员有一个快乐指数,用整数 HiHi 给出,其中 1≤i≤N. 现在要 ...
- [洛谷 P4084 USACO17DEC] Barn Painting G (树形dp经典)
[洛谷 P4084 USACO17DEC] Barn Painting G 题目链接 大致题意: 给定一颗N个节点组成的树,3种颜色,其中K个节点已染色,要求任意两相邻节点颜色不同,求合法染色方案数 ...
- 【洛谷P4084】Barn Painting【树形DP】
题目大意: 题目链接:https://www.luogu.org/problemnew/show/P4084 一棵nnn个节点的树上有kkk个点已被染色.求将这棵树染成三种颜色且相邻的节点颜色不同的方 ...
最新文章
- React-Native 使用真机和指定模拟器调试
- STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法!
- 【视频】vue指令之v-else-if
- 从vuex源码分析module与namespaced
- 日常使用Git,这些问题你遇到过吗?
- 11月中30个精心设计的网站案例精选
- C#EF中,使用类似于SQL中的% 模糊查询
- openstack搭建
- console.log 用法
- Java NIO学习篇之通道Channel详解
- 吝啬的国度(dfs)
- 【Hive】条件函数
- 悟空CRM测试用例执行,项目评审
- 第四届泰迪杯数据挖掘挑战赛B题数据预处理-数据导入(Matlab)
- Word中使用表格排版公式时,表格内序号纵向居中的问题。
- rust怎么建柱子_原神慈盐之末任务怎么做?原神钟离传说任务的方碑柱子点亮顺序...
- SAP中MIGO采购订单收货项目默认OK小技巧
- (最新最详细)安装ubuntu18.04
- wasc honeypot
- Android之如何学习