LOJ10160周年纪念晚会
题目描述
Ural 州立大学的校长正在筹备学校的 80 周年纪念聚会。由于学校的职员有不同的职务级别,可以构成一棵以校长为根的人事关系树。每个资源都有一个唯一的整数编号,从 1 到 N 编号,且对应一个参加聚会所获得的欢乐度。为使每个职员都感到快乐,校长设法使每个职员和其直接上司不会同时参加聚会。
你的任务是设计一份参加聚会者的名单,使总欢乐度最高。
输入格式
第一行是一个整数 N;
接下来 N 行对应 N 个职员的欢乐度,第 ii 行的一个整数为第 i 个职员的欢乐度 pi;
接着是学校的人事关系树,每一行格式为 L K
,表示第 K 个职员是第 L 个职员的直接上司,输入以 0 0
结束。
输出格式
输出参加聚会者获得的最大欢乐度。
样例
样例输入
7
1
1
1
1
1
1
1
1 3
2 3
6 4
7 4
4 5
3 5
0 0
样例输出
5
数据范围与提示
对于100% 的数据,1≤N≤6000,−128≤pi≤127。
——————————————————————————————————————————————————
没有上司的舞会,简单的树形动归。
f[u][0]:表示当前点不参加舞会时,当前子树上的最大欢乐值
f[u][1]:表示当前点参加舞会时,当前子树上的最大欢乐值
f[u][0]=sum( max( f[v][0] , f[v][1] ) )
f[u][1]=sum( f[v][0] ) + w[u]
——————————————————————————————————————————————————
- 1 #include<bits/stdc++.h>
- 2 using namespace std;
- 3 const int maxn=6010;
- 4 int n;
- 5 struct edge
- 6 {
- 7 int u,v,nxt;
- 8 }e[maxn];
- 9 int head[maxn],js;
- 10 void addage(int u,int v)
- 11 {
- 12 e[++js].u=u;e[js].v=v;
- 13 e[js].nxt=head[u];head[u]=js;
- 14 }
- 15 int w[maxn],root;
- 16 bool rd[maxn];
- 17 int f[maxn][2];
- 18 void dp(int u,int fa)
- 19 {
- 20 f[u][0]=0;f[u][1]=w[u];
- 21 for(int i=head[u];i;i=e[i].nxt)
- 22 {
- 23 int v=e[i].v;
- 24 if(v!=fa)
- 25 {
- 26 dp(v,u);
- 27 f[u][0]+=max(f[v][0],f[v][1]);
- 28 f[u][1]+=f[v][0];
- 29 }
- 30 }
- 31 }
- 32 int main()
- 33 {
- 34 scanf("%d",&n);
- 35 for(int i=1;i<=n;++i)scanf("%d",&w[i]);
- 36 for(int u,v,i=1;i<n;++i)
- 37 {
- 38 scanf("%d%d",&v,&u);
- 39 addage(u,v);
- 40 rd[v]=1;
- 41 }
- 42 for(int i=1;i<=n;++i)
- 43 if(rd[i]==0)
- 44 {
- 45 root=i;
- 46 break;
- 47 }
- 48 dp(root,0);
- 49 cout<<max(f[root][0],f[root][1]);
- 50 return 0;
- 51 }
LOJ10160周年纪念晚会的更多相关文章
- LOJ 10160 - 「一本通 5.2 练习 3」周年纪念晚会 / 没有上司的晚会
题面 传送门 Ural 州立大学的校长正在筹备学校的 8080 周年纪念聚会.由于学校的职员有不同的职务级别,可以构成一棵以校长为根的人事关系树.每个资源都有一个唯一的整数编号,从 $1$ 到 $N$ ...
- Win10《芒果TV》发布两周年纪念特别献礼,陪你度国庆,好礼送不停
2015年芒果TV和微软中国联姻,在Windows10发布之际,共同宣告了Win10版<芒果TV>的诞生,第一个版本于2015年9月30日登陆Windows商店,历经28次迭代,现在她两岁 ...
- Supermemo背单词7周年纪念
从2007年2月1日开始,用Supermemo背单词7周年了,在2013年11月21日将单词表Reset,重新开始Review以前背过的单词,并慢慢加入听写VOA时遇到的生词.
- 【μ'sic forever♪♪♪】μ's Final Love Live周年纪念
一.正文 “切なくて时をまきもどしてみるかい?No no no……いまが最高!” 转眼就是一周年了,其实fl后入坑的我在这里怀念显得有些无病呻吟.但我也有想说的话,说给重要的人听. “ほのかな予感から ...
- loj题目总览
--DavidJing提供技术支持 现将今年7月份之前必须刷完的题目列举 完成度[23/34] [178/250] 第 1 章 贪心算法 √ [11/11] #10000 「一本通 1.1 例 1」活 ...
- CSU训练分类
√√第一部分 基础算法(#10023 除外) 第 1 章 贪心算法 √√#10000 「一本通 1.1 例 1」活动安排 √√#10001 「一本通 1.1 例 2」种树 √√#10002 「一本通 ...
- YBT 5.2 树形动态规划
题解在代码中 二叉苹果树[loj 10153] /* 若要留q条边便是要留q+1个点 所以记忆化搜索 dp[pos][ans]=max(dp[pos][ans],dp[l[pos]][k]+dp[r[ ...
- LOJ 一本通一句话题解系列:
第一部分 基础算法 第 1 章 贪心算法 1):「一本通 1.1 例 1」活动安排:按照结束时间排序,然后扫一遍就可以了. 2):「一本通 1.1 例 2」种树:首先要尽量的往区间重叠的部分种树,先按 ...
- IDA PRO:庆祝成立创新 30 周年
今天,IDA 已经三十岁了.为了纪念周年纪念,我们将描述史诗旅程的开始和主要里程碑. 背景 在 1990 年代初期,DOS 是最流行的 PC 操作系统,主要是 8086,偶尔有 80286(80386 ...
随机推荐
- 手摸手带你用Hexo撸博客(二)之配置主题
在上一篇博客手摸手带你用Hexo撸博客(一)中主要介绍了博客的初步搭建 今天我们继续讲如何在Hexo搭建的博客中应用主题 官网选择自己喜欢的主题 点击这里Hexo主题进入官网主题页面 然后选择自己喜欢 ...
- 数据接口请求异常:parsererror
问题一:直接拿别人的文件放在本地打开 如下图 原因:这是提示"交叉源请求仅支持协议方案:HTTP.数据.Chrome.Chrome扩展.HTTPS." 也就是你不能用本地文件打开, ...
- Docker之1---介绍和安装
Docker介绍 Docker是一个开源项目,让应用程序布署在软件货柜下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制. Docker利 ...
- java面向对象的一些知识
(1)this和super关键字的用法 this表示调用本类实例方法和成员变量,this引用就是对一个对象的引用,如this.name 表示本类成员变量name,静态方法中不能使用this关键字. ...
- spring boot(一):什么是spring boot
什么是spring boot 官网说的很清晰 一.Overview Spring Boot makes it easy to create stand-alone, production-grade ...
- 轻量级 Kubernetes K3s - Github热点
轻量级 Kubernetes k3s star: 15.5k K3s是完全符合生产要求的Kubernetes发行版, 安装简单,可用于生产,整个二进制文件小于100M,作为单一文件打包部署,优势在于, ...
- 项目API接口鉴权流程总结
权益需求对接中,公司跟第三方公司合作,有时我们可能作为甲方,提供接口给对方,有时我们也作为乙方,调对方接口,这就需要API使用签名方法(Sign)对接口进行鉴权.每一次请求都需要在请求中包含签名信息, ...
- 2021升级版微服务教程4—Nacos 服务注册和发现
2021升级版SpringCloud教程从入门到实战精通「H版&alibaba&链路追踪&日志&事务&锁」 默认文件1610014380163 教程全目录「含视 ...
- mmall商城用户模块开发总结
1.需要实现的功能介绍 注册 登录 用户名校验 忘记密码 提交问题答案 重置密码 获取用户信息 更新用户信息 退出登录 目标: 避免横向越权,纵向越权的安全漏洞 MD5明文加密级增加的salt值 Gu ...
- InheritableThreadlocal使用问题排查
背景 在做一个微服务系统的时候,我们的参数一般都是接在通过方法定义来进行传递的,类似这样 public void xxx(Param p, ...){ // do something } 然后这时有个 ...