题目:传送门
题意:
给一棵树,每个结点都有一个权值,父节点和子节点不能同时出现,求权值和最大值是多少。
题解:
我们要在树上跑个dp,因为问题的模型只有用和不用,所以我们在树上跑01背包那个模型就行了
AC代码:
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
int dp[6005][2],val[6005],index_v[6005],vis[6005];
vector<int>adj[6005]