http://codeforces.com/problemset/problem/743/D

``` void dfs(int u, int fa) {
sum[u] = w[u];
for(int i = head[u]; ~i; i = edge[i].nxt) {
int v = edge[i].v;
if(v == fa) continue;
dfs(v, u);
sum[u] += sum[v];
if(dp[u] > -INF) ans = max(ans, dp[u] + dp[v]);
dp[u] = max(dp[u], dp[v]);
}
dp[u] = max(dp[u], sum[u]);
}```

``` #include <cstdio>
#include <algorithm>
#include <iostream>
#include <cstring>
#include <string>
#include <cmath>
#include <queue>
#include <vector>
using namespace std;
#define N 200010
typedef long long LL;
;
struct node
{
int v, nxt;
}edge[N*];
LL dp[N], sum[N], w[N], head[N], tot, ans;

void add(int u, int v) {
edge[tot].v = v; edge[tot].nxt = head[u]; head[u] = tot++;
}

void dfs(int u, int fa) {
sum[u] = w[u];
for(int i = head[u]; ~i; i = edge[i].nxt) {
int v = edge[i].v;
if(v == fa) continue;
dfs(v, u);
sum[u] += sum[v];
if(dp[u] > -INF) ans = max(ans, dp[u] + dp[v]);
dp[u] = max(dp[u], dp[v]);
}
dp[u] = max(dp[u], sum[u]);
}

int main()
{
int n;
cin >> n;
memset(head, -, sizeof(head));
; i <= n; i++) cin >> w[i];
; i < n; i++) {
int u, v;
cin >> u >> v;
add(u, v); add(v, u);
}
ans = -INF;
; i <= n; i++) dp[i] = -INF;
dfs(, -);
if(ans <= -INF) puts("Impossible");
else cout << ans << endl;
;
}```

## Codeforces 743D：Chloe and pleasant prizes（树形DP）的更多相关文章

1. Codeforces Round #384 (Div. 2)D - Chloe and pleasant prizes 树形dp

D - Chloe and pleasant prizes 链接 http://codeforces.com/contest/743/problem/D 题面 Generous sponsors of ...

2. coderforces #384 D Chloe and pleasant prizes（DP）

Chloe and pleasant prizes time limit per test 2 seconds memory limit per test 256 megabytes input st ...

3. Chloe and pleasant prizes

Chloe and pleasant prizes time limit per test 2 seconds memory limit per test 256 megabytes input st ...

4. Codeforces 418d Big Problems for Organizers [树形dp][倍增lca]

题意: 给你一棵有n个节点的树,树的边权都是1. 有m次询问,每次询问输出树上所有节点离其较近结点距离的最大值. 思路: 1.首先是按照常规树形dp的思路维护一个子树节点中距离该点的最大值son_di ...

5. Codeforces 581F Zublicanes and Mumocrates（树形DP）

题目大概说有一棵树要给结点染色0或1,要求所有度为1的结点一半是0一半是1,然后问怎么染色,使两端点颜色不一样的边最少. dp[0/1][u][x]表示以u结点为根的子树中u结点是0/1色 且其子树有 ...

6. Codeforces Round #384 (Div. 2)D-Chloe and pleasant prizes

D. Chloe and pleasant prizes time limit per test 2 seconds memory limit per test 256 megabytes input ...

7. codeforces 161D Distance in Tree 树形dp

题目链接: http://codeforces.com/contest/161/problem/D D. Distance in Tree time limit per test 3 secondsm ...

8. codeforces 337D Book of Evil (树形dp)

题目链接:http://codeforces.com/problemset/problem/337/D 参考博客:http://www.cnblogs.com/chanme/p/3265913 题目大 ...

9. codeforces 212E IT Restaurants(树形dp+背包思想)

题目链接:http://codeforces.com/problemset/problem/212/E 题目大意:给你一个无向树,现在用两种颜色去给这颗树上的节点染色.用(a,b)表示两种颜色分别染的 ...

## 随机推荐

1. Anti XSS 防跨站脚本攻击库

https://wpl.codeplex.com/ Before understanding Anti-Cross Site Scripting Library (AntiXSS), let us u ...

2. Android 一个对sharedpreferences 数据进行加密的开源库

1.项目地址 https://github.com/iamMehedi/Secured-Preference-Store 2.使用方法 2.1.存数据 //存数据 SecuredPreferenceS ...

3. Light oj1031 Easy Game (区间dp)

题目链接:http://vjudge.net/contest/140891#problem/F A和B都足够聪明,只有我傻,想了好久才把代码和题意对应上[大哭] 代码: #include<ios ...

4. PHP 开发的 API 多版本管理实践

遇到的情况 本文针对移动互联网客户端需要兼容旧版的情况,强制升级到最新版本的 app 不在讨论之列. 在 bugtags.com 项目中,我们的版本遵循下面规范.1.0.1大功能.小更新.bug 修正 ...

5. 1.1 Activity

1.概念 Application:由多个相关的松散的与用户进行交互Activity组成,通常被打包成apk后缀文件中: Activity:就是被用来进行与用户交互和用来与android内部特性交互的组 ...

6. 加密–RSA前端与后台的加密&amp;解密

1. 前言 本问是根据网上很多文章的总结得到的. 2. 介绍 RSA加密算法是一种非对称加密算法. 对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法 ...

7. Cocos2d-JS目录说明

frameworks---- 引擎所在,包含两个文件夹cocos2d-html5 和js-bindings.前者是html5引擎,后者是-x的引擎,外部接口是js写,但基础模块却是cpp来实现. sa ...

8. 1019: A+B和C比大小

1019: A+B和C比大小 时间限制: 1 Sec  内存限制: 128 MB提交: 518  解决: 300[提交][状态][讨论版] 题目描述 给定区间[-231, 231]内的3个整数A.B和 ...

9. 【nginx运维基础(4)】Nginx的日志管理(日志格式与定时分割日志)

Nginx日志主要分为两种:访问日志和错误日志.日志开关在Nginx配置文件(一般在server段来配置)中设置,两种日志都可以选择性关闭,默认都是打开的. 访问日志access_log #日志格式设 ...

10. 《A First Course in Probability》-chape4-离散型随机变量-方差

为了描述一组数据的均值,我们引入了数学期望的概念,为了描述一组数据相对均值的波动情况,我们引入了方差. 能够看到,方差的本质也是一个期望,那么我们就能够利用期望的定义将其继续展开. 方差的一条重要性质 ...