树形DP
liusu201601
这个作者很懒,什么都没留下…
展开
-
luogu2016:战略游戏:求最大独立集(板子)
题目连接树形DP专题题目大意给出一棵树,每个守卫可以瞭望相邻的点;问,最少需要多少个守卫,可以瞭望全图。题目分析瞭望:其实是希望用最少的点,覆盖长度范围为1的图。所以是经典的“最小点覆盖”问题,在树上也叫“最大独立集”问题;因为是板子,所以肯定很简单,直接上代码,相信应该问题不大。解题流程略参考代码//1.3-luogu2016-战略游戏//最小点...原创 2020-01-06 08:47:01 · 308 阅读 · 0 评论 -
loj10155:数字转换:树的直径问题
题目连接树形DP专题题目大意一个数字n,求n以内的数字之间 “约数和关系” 的最长链;约数和关系:一个数字 xxx 的约数和为 s[x]s[x]s[x] ;题目分析由 约数和关系 可以想到,如果 s[x]<xs[x]<xs[x]<x ,他们之间可以连一条双向边;题目就转换为了一个树上,求直径。直径的定义: 树上最长的链。求树的直径的方法1:用两次df...原创 2019-12-25 10:45:58 · 302 阅读 · 1 评论 -
hdu3534:tree:树的直径问题(dp求解)
题目连接树形DP专题题目大意给出一棵带边权的树;问1:求出树的直径;问2:有多少对点的距离等于树的直径。题目分析直径的定义: 树上最长的链(可能有多条)。求树的直径的方法1:用两次dfs来完成dfs1从根出发,找到最远的叶子结点 kkk;dfs2以 kkk 为根,出发,找到离他最远的点 ttt , kkk 与 ttt 之间的距离就是直径。求直径的做法2:dp的思...原创 2019-12-24 09:19:50 · 515 阅读 · 0 评论 -
luogu1352:没有上司的舞会
题目连接树形DP专题题目大意给出一棵带权值的树;如果父亲出席,则儿子们都不出席舞会;如果父亲不出席,儿子们可以选择出席与否;求最大的权值和。题目分析f[x][1]f[x][1]f[x][1] 表示 xxx 会出席晚会,所以他的儿子都不出席,取和:f[x][1]=∑y∈son[x]f[y][0]f[x][1] = \sum_{y \in son[x]}^{} f[y...原创 2019-12-23 11:56:49 · 178 阅读 · 0 评论 -
luogu1122:最大子树和
题目连接树形DP专题题目大意知道一棵树,每个点有权重;删掉任意个点,保留以1为根的子树;使得权值和最大。题目分析树形DP的入门题,考核树上的递归更新。解题思路一个dfs完成参考代码//luogu1122-最大子树和#include<bits/stdc++.h>using namespace std;const int N=20000;...原创 2019-12-23 09:56:39 · 263 阅读 · 0 评论