树形dp
人菜瘾大aaabbbb
这个作者很懒,什么都没留下…
展开
-
洛谷P1352 没有上司的舞会 //经典树形dp
题意:给一棵树每个节点给定一个价值,子节点和父节点不能同时选取,求能够选取的最大价值。 用dp[u][0]表示不选取u节点的u子树(包括u在内)能获得的最大价值,dp[u][1]表示选取u节点的u子树(包括u在内)能获得的最大价值。 #include<bits/stdc++.h> using namespace std; int dp[10001][2],r[10010],vis...原创 2019-02-12 20:28:12 · 171 阅读 · 0 评论 -
CodeForces 486D vailid set 树形DP
题意: 给一颗树,在树中寻找所有符合点权最大值和最小值相减小于d的联通子集。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll mod=1e9+7; const int maxn=4e3+10; struct node{ int to,next; }e[maxn]; ...原创 2019-09-21 23:13:58 · 128 阅读 · 0 评论 -
HDU 5927 Auxiliary Set 树形搜索
题意: 给你n个点的一颗树,q次查询,每次给你m个数,代表这颗树中的轻点,其他点是重点,对于每个查询计算这个课树中重点的数量加上重点lca的数量一共有多少个(即将两个重点是的lca是轻点的点计算进去)。 思路: 对于每个询问,中的轻点按照深度排序,遍历所有轻点,如果这个轻点没有儿子,就将其父节点的儿子数减一,即用深度深的轻节点更新深度浅的轻节点。如果轻节点的儿子数>=2,那么说明他至少...原创 2019-09-22 17:26:50 · 105 阅读 · 0 评论