HDU 1520 Anniversary party(树形dp)
HDU 1520 Anniversary party(树形dp)
树形dp第一题!!!
题意很清晰,思路也很明确。很容易找到根节点,即最大的boss,通过根节点向下dp。
状态转移方程:
- int to = vec[x][i];
- dfs(to);
- dp[x][1] += dp[to][0];
- dp[x][0] += max(dp[to][1], dp[to][0]);
即对于一个节点。如果它有根节点:
- 选区本节点;
- 或者选取根节点的最大权值.
#include <iostream>
#include <cstring>
#include <vector>using namespace std;const int N = 6010;int n;
int value[N];
vector< vector<int > > vec(N);
int boss, emp;
int root;
int non[N];int dp[N][2];void init()
{memset(value, 0,sizeof(value));memset(non, false,sizeof(non));memset(dp, 0,sizeof(dp));
}void find_root()
{for(int i = 1 ; i <= n ;i++){if(non[i] == false){root = i;return;}}
}void dfs(int x)
{for(int i = 0; i < (int)vec[x].size(); i++){int to = vec[x][i];dfs(to);dp[x][1] += dp[to][0];dp[x][0] += max(dp[to][1], dp[to][0]);}
}int main()
{init();cin >> n;for(int i = 1 ; i <= n ; i++) {cin >> value[i];dp[i][1] = value[i];}for(int i = 1 ; i < n ; i++){cin >> boss >> emp;vec[emp].push_back(boss);non[boss] = true;}cin >> boss >> emp;find_root();dfs(root);cout << max( dp[root][0] , dp[root][1] );return 0;
}
转载于:https://www.cnblogs.com/ronnielee/p/9495148.html
HDU 1520 Anniversary party(树形dp)相关推荐
- HDU - 1520 Anniversary party [树形dp]
Anniversary party 时限:1000ms Problem Description There is going to be a party to celebrate the 80-th ...
- POJ 2342 | HDU 1520 Anniversary party 树形DP(入门题)
传送门:POJ 2342 题目大意: 有若干人参加一个聚会,如果两个人之间有直接的上下属关系,则只能去一个.每个人都有个高兴值,问高兴值之和最大是多少? 思路: 之前一直觉得树形DP比较难,现在发现树 ...
- 宋体节点hdoj 1520 Anniversary party(树形dp)
每日一贴,今天的内容关键字为宋体节点 标题链接 按照级等我们可以建一颗树,如图 我们可以把一个节点当作一个人,每一个节点都有一个权重.按照标题意思,如果我们取了某个节点,那么他的父节点和子节点都是不能 ...
- hdu 1520 Anniversary party(第一道树形dp)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1520 Anniversary party Time Limit: 2000/1000 MS (Java ...
- POJ - 2342 Anniversary party(树形dp入门)
题目链接:点击查看 题目大意:每个人都有一个快乐值,给定一个树状的从属关系,仅当上司和下属都不在的时候这个个人的快乐值才能表现出来,问怎么样才能让整体的快乐值达到最大 题目分析:做线段树做吐了,来换换 ...
- HDU 3534 Tree (经典树形dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3534 题意: 给你一棵树,问你有多少对点的距离等于树的直径. 思路: dp[i][0]表示在i的子树中 ...
- HDU 1011(星河战队 树形DP)
题意是说在一个洞穴中有许多房间,每个房间中有一些虫子和大脑,这些房间之间用隧道相连形成一棵树,士兵们杀虫子的能力有限,也可以直接杀死虫子而不消耗士兵战斗力,但这样就无法得到房间中的大脑,士兵们不能走回 ...
- hdu 4044 GeoDefense (树形dp | 多叉树转二叉树)
题目链接:hdu-4044 题意 这是一个塔防游戏,地图是一个n个编号为1-n的节点的树, 节点1是敌人的基地,其他叶子节点都是你的基地. 敌人的基地会源源不断地出来怪兽,为了防止敌人攻进你的基 ...
- HDU.5909.Tree Cutting(树形DP FWT/点分治)
题目链接 \(Description\) 给定一棵树,每个点有权值,在\([0,m-1]\)之间.求异或和为\(0,1,...,m-1\)的非空连通块各有多少个. \(n\leq 1000,m\leq ...
最新文章
- SVN文件库移植(转)
- 做外贸如何获取同行的价格体系?转至【【Mr.Harris 原创】
- Eclipse中新建Maven项目没有java以及test目录
- stm32 窗口看门狗学习(二)
- SAP Fiori smart template技术里CDS view的注解和UI元素对应关系
- 通过用 .NET 生成自定义窗体设计器来定制应用程序
- java趣事_【趣事】Java程序员最年轻,C++程序员最年老
- NUC1015 计算数字的根
- LINUX使用OpenSSL进行签名
- 免费下载卫星地图 高清卫星地图软件
- 【Unity】出现NullReferenceException:Object reference not set to an instance of an object.的原因总结
- yarn命令报错Error: The project seems to require yarn but it‘s not installed
- 相亲小程序如何做到年入百万?盈利模式是什么?
- 解决方法数超65536(java.lang.IllegalArgumentException: method ID not in [0, 0xffff]: 65536)
- 【Typora】 自定义背景颜色(护眼绿) 高亮颜色 选中内容颜色 高亮快捷键
- java中有这个符号吗吗_Java中-符号是什么意思啊
- 如何转换.CR2格式的图片
- 02-pandas数据分析库
- 一张图片测试你的好色程度
- 简单介绍盒子模型的原理以及用法
热门文章
- 计算机学具制作,6计算机模板教案6算机模板教案.doc
- c语言利用sin约等于x-,用泰勒公式求sin(x)的近似值
- 高德软件测试工资,【高德工资】软件测试工程师待遇-看准网
- mysql索引与约束有什么关系_MySQL 约束与索引
- .net 把一个对象赋值给一个参数_Java:new一个对象的过程中发生了什么?
- java int数组写入文件中_Java程序将int数组写入文件
- mysql 语句性能分析_mysql的sql语句的性能诊断分析
- 计算机将成为学生们的老师英语,重庆英语教师
- linux实用小工具,Linux系统小工具使用大用途---1
- mac地址扫描源码_iNet Network Scanner扫描网络,及时反馈WiFi信号强度!