正题

评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=P1352


题目大意

一棵树,如果选择了子节点那么就不能选择父节点,如果选择了父节点那么就不能选择子节点。
求选择的点的最大权值和。


解题思路

和最大利润类似。


code

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
struct tree{int x,y,next;
}a[200001];
bool ok[100001];
int n,money[100001],w,ls[100001],f[100001],g[100001],dx,dy;
bool dp(int x)
{if (ok[x]) return false;ok[x]=true;//标记int q=ls[x];while (q!=0){if (dp(a[q].y)){f[x]+=g[a[q].y];g[x]+=max(f[a[q].y],g[a[q].y]);//动态转移}q=a[q].next;//下一条边}f[x]+=money[x];//价值return true;
}
int main()
{scanf("%d",&n);for (int i=1;i<=n;i++) scanf("%d",&money[i]);for (int i=1;i<n;i++){scanf("%d%d",&dx,&dy);a[++w].x=dx;a[w].y=dy;a[w].next=ls[dx];ls[dx]=w;//邻接表a[++w].x=dy;a[w].y=dx;a[w].next=ls[dy];ls[dy]=w;}memset(ok,false,sizeof(ok));//有些莫名其妙的bug所以...dp(1);printf("%d",max(f[1],g[1]));//输出
}

P1352-没有上司的舞会【树形dp】相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. P1352 没有上司的舞会

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

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

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

  10. 树形DP入门题目推荐以及解析

    关于树形DP几道入门题目 今天恶补树形DP,感觉海星. 其实挺简单的. 介绍几道例题,我会的. 1.洛谷P1352 没有上司的舞会 我的一篇题解 我们可以考虑每一个节点都是有两种情况. 一个是被邀请: ...

最新文章

  1. 【AIX 命令学习】加载与卸载文件系统!
  2. 数据库使用--MySQL: InnoDB 还是 MyISAM?
  3. 视频容器格式与编码格式简介
  4. Express res.render 学习笔记
  5. 1分钟了解相似性推荐
  6. linux nginx F配置,linux下nginx的安装及配置
  7. 学习django就看这本书了!django book 2.0中文版
  8. click Commands and Groups
  9. 如何理解DT将是未来IT的转型之路?
  10. [RL] 配置 gym 与 atari 游戏
  11. 全国计算机信息高新技术办公软件应用模块,全国计算机信息高新技术办公软件应用模块(Windows系列)教案.doc...
  12. 如何手动优化神经网络模型
  13. Executors 工具类,三大方法
  14. java redis 队列 抢购_redis使用watch秒杀抢购实现思路
  15. 蓝牙锁定计算机,win7怎么设置蓝牙加密狗|win7蓝牙加密狗的使用方法
  16. 投票系统C语言程序,C语言课程投票程序系统.doc
  17. Oracle的本地网络服务名配置
  18. 第三方支付接口申请流程
  19. 微软云中国的服务器在哪,微软云计算平台Windows Azure将落户中国
  20. 需求分析师应具备的几项能力

热门文章

  1. matlab dy,高手,请问用matlab如何解下面方程:y*Dy=a+b*y;我的计算结果里面含有wrightOmega ,怎样解出一般解?...
  2. python的文件操作os_python文件、文件夹操作OS模块
  3. 蓝桥杯-填空题-门牌制作
  4. 每天都在红绿灯前面梭行,不如自己来实现个红绿灯?
  5. [SpringSecurity]框架概述
  6. [C++11]右值和右值引用
  7. [设计模式]合成复用原则
  8. [Java基础]对象(反)序列化流
  9. html坐标轴背景色,CSS 背景(css background)
  10. opencv 常见细碎问题解决