NYOJ 697 The Weight of Tree
2013-05-01 11:38
344 查看
题目链接:here~~
树形dp
树形dp
#include <iostream> #include <cstdio> #include <string.h> #include <vector> using namespace std; bool vis[100010]; int point[100010]; vector<int> m[100010]; int maxn; int dfs(int i) { vis[i]=1; int res=point[i], term, len=m[i].size(); for (int j=0; j<len; j++) { if (vis[m[i][j]]==0) { term=dfs(m[i][j]); if (term>0) res+=term;//如果大于0,就加上,小于0不操作 } } if (maxn<res) maxn=res;//更新最大值 return res; } int main() { // freopen("in", "r", stdin); int T, n, i, a, b; scanf("%d", &T); while (T--) { memset(vis, 0, sizeof (vis)); scanf("%d", &n); for (i=1; i<=n; i++) scanf("%d", &point[i]); for (i=1; i<n; i++) { scanf("%d%d", &a, &b); m[a].push_back(b); m[b].push_back(a); } maxn=1<<31; dfs(1); printf("%d\n", maxn); for (i=1; i<=n; i++) m[i].clear(); } return 0; }
相关文章推荐
- The Weight of Tree
- Sichuan University Programming Contest 2011 Preliminary(for Non-SCUers) / B The Weight of Tree
- Sichuan University Programming Contest 2011 Preliminary(for Non-SCUers) / B The Weight of Tree
- HDU 3999 The order of a Tree
- The diameter of a binary tree
- 递归交换二叉树左右子树:BinaryTree:Exchange the left child and right child of a binary tree
- Give the common ancestor of all the deepest nodes of a tree
- HDOJ 题目3999 The order of a Tree(二叉树)
- New study shakes the roots of the dinosaur family tree
- [面试题]Amazon: Given two binary trees,if the first tree is subtree of the second one
- hdu 3999 The order of a Tree
- To get the tree list of the objects on which an object depends
- find the smallest subtree that contains all of the tree's deepest nodes
- HDU-3999 The order of a Tree 树的遍历
- The order of a Tree HDU - 3999
- [CrackCode] 4.4 Creates a linked list of all the nodes at each depth of a given tree
- The diameter of a binary tree
- hdu 3999 The order of a Tree
- geeksforgeeks Find the maximum path sum between two leaves of a binary tree
- HDU 3999 The order of a Tree