题目传送门

 /*
题意:上司在,员工不在,反之不一定。每一个人有一个权值,问权值和最大多少。
树形DP:把上司和员工的关系看成根节点和子节点的关系,两者有状态转移方程:
dp[rt][0] += max (dp[son][1], dp[son][0]); //上司不去
dp[rt][1] += dp[son][0]; //上司去,员工都不去
*/
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std; const int MAXN = 6e3 + ;
const int INF = 0x3f3f3f3f;
bool vis[MAXN];
vector<int> edge[MAXN];
int dp[MAXN][];
int n; void DFS(int rt)
{
vis[rt] = true;
dp[rt][] = ;
for (int i=; i<edge[rt].size (); ++i)
{
int son = edge[rt][i];
if (!vis[son])
{
DFS (son);
dp[rt][] += max (dp[son][], dp[son][]);
dp[rt][] += dp[son][];
}
}
} int main(void) //URAL 1039 Anniversary Party
{
// freopen ("URAL_1039.in", "r", stdin); while (scanf ("%d", &n) == )
{
memset (vis, false, sizeof (vis));
memset (dp, , sizeof (dp));
for (int i=; i<=n; ++i) scanf ("%d", &dp[i][]); int l, k;
while (scanf ("%d%d", &l, &k) == )
{
if (l == && k == ) break;
vis[l] = true;
edge[l].push_back (k);
edge[k].push_back (l);
} int root = ;
for (int i=; i<=n; ++i)
{
if (!vis[i]) {root = i; break;}
} memset (vis, false, sizeof (vis)); DFS (root);
printf ("%d\n", max (dp[root][], dp[root][]));
} return ;
}

最新文章

  1. .net erp(办公oa)开发平台架构概要说明之表单设计器
  2. Microservice 微服务的理论模型和现实路径
  3. DEV柱状图----傻瓜版
  4. 【iCore3 双核心板】例程十八:USB_VCP实验——虚拟串口
  5. Matlab中bsxfun和unique函数解析
  6. mybatis代码生成器配置文件详解
  7. QT QObject::connect函数的学习
  8. quartus中查看网表
  9. Migration workstation vms to openstack kvm
  10. beta冲刺总结
  11. gitlab pipelines job执行时日志较大报错
  12. android实用软件tasker应用设置
  13. VB代码收集
  14. 【开源程序(C++)】获取bing图片并自动设置为电脑桌面背景
  15. Python 新式类与经典类
  16. VS2017 安装visualSVN 6.1.1 for visual studio 2017
  17. css一般性
  18. 1066. [SCOI2007]蜥蜴【最大流】
  19. [gj]耶稣和撒旦的关系
  20. 01 Java图形化界面设计&mdash;&mdash;容器(JFrame)

热门文章

  1. The Java library for converting Wikipedia wikitext notation to HTML
  2. 洛谷——P1454 圣诞夜的极光
  3. linux下crontab安装和使用(定时任务)
  4. jackson的应用
  5. 洛谷 P1122 最大子树和
  6. Ubuntu 16.04粘贴板增强工具Diodon
  7. neutron trouble shooting - ip can not ping
  8. 模拟用户点击弹出新页面不会被浏览器拦截_javascript技巧
  9. cocos2d-x中绘制3D图形--3D ToolKit for cocos2dx实现原理
  10. iOS音频播放 (二):AudioSession 转