首页 > Work Group
头像 shyyhs
发表于 2021-02-10 12:47:01
思路 定义表示为根节点的子树选取奇数/偶数个数所获得的最大权值是多少.然后直接dfs转移即可. 代码 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=2e5+5,M=2; co 展开全文
头像 熠丶
发表于 2021-02-22 00:17:01
做法:树形dp 思路 设dp[u][0]为以u为根的偶数个点的子树 dp[u][1]为以u为根的奇数个点的子树因为刚开始不存在奇数个点的子树,所以赋值为-inf 之后更新即可 转移按照规则偶=奇+奇=偶+偶奇=奇+偶=偶+奇 代码 #include <bits/stdc++.h> 展开全文
头像 hnust_yangyanjun
发表于 2021-02-22 19:42:41
题意:有一颗n个节点并且以1为根的树,每一个节点有一个权值,你可以选择一些节点组成工作组,工作中中的每一个节点他的子树上的节点在工作组的数目为偶数(不包括自己),求工作组的最大权值为多少(工作组的权值等于工作组中每个节点的权值之和)? 思路:树状dpdp[v][0/1]表示第v个节点在满足条件时该子 展开全文
头像 sunrise__sunrise
发表于 2021-02-21 21:32:35
中文题意 给出n个节点的一棵树,每个点带有点权,并且下面n行第行第一个数代表它的父亲是谁,第二个数是权值。当输入父亲是-1的说明它是根节点。现在如果你要选择一个节点u,仅当你选择的它以及它的子树中全部的点它们的子节点个数都是偶数个,询问你可以选到最大的权值和是多少。 Solution 树形dp的味道 展开全文

等你来战

查看全部