
树形dp
HARD_UNDERSTAND
Just try
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Codeforces 685B 树形dp
题意:给出有n个点的树,有q次询问某个点的重心是什么?InputThe first line of the input contains two integers n andq (2 ≤ n ≤ 300 000,1 ≤ q ≤ 300 000) — the size of the initial tree and the number of queries respective原创 2016-07-01 23:32:46 · 428 阅读 · 0 评论 -
Codeforces 696B 树形dp,概率
题目:http://codeforces.com/problemset/problem/696/B 题意: 一个树,dfs遍历子树的顺序是随机的。所对应的子树的dfs序也会不同。输出每个节点的dfs序的期望 分析: 分析一颗子树: 当前已知节点1的期望为1.0 ->anw[1]=1.0 需要通过节点1递推出节点2、4、5的期望值 1的儿子分别是2、4、5,那么dfs序所有可能的排列是6原创 2016-09-01 09:13:06 · 406 阅读 · 0 评论 -
LA 2038 Strategic game(二分图最小顶点覆盖 /树形DP)
题意: 给定一棵树,选择尽量少的点,使得每条边至少有一个点被选中。分析: 做这题的时候看的训练指南上的翻译,想了一下午都不会做,没想到居然翻译是错的~~ 其实这题还是很简单的。是UVa10859放置街灯那题的简化版。 dp[i][j]表示节点i状态是j的最优解(j==1表示被选中,0表示不被选中) 然后在树上搜一遍就好。 状态转移方程: if(j)ans+=mi原创 2016-09-04 21:21:06 · 382 阅读 · 0 评论 -
URAL 1018 二叉苹果树(简单树形dp)
题目:http://acm.timus.ru/problem.aspx?space=1&num=1018 题意: 有一棵苹果树,苹果树的是一棵二叉树,共N个节点,树节点编号为1~N,编号为1的节点为树根,边可理解为树的分枝,每个分支都长着若干个苹果,现在要要求减去若干个分支,保留M个分支,要求这M个分支的苹果数量最多。分析: 简单的树形dp: d[u][q]表示以u为根的子树保留q原创 2016-09-17 10:29:10 · 1030 阅读 · 0 评论 -
51nod 1737 配对 【树形dp】
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1737题意:给出一棵n个点的树,将这n个点两两配对,求所有可行的方案中配对两点间的距离的总和最大为多少。分析:贪心的想,为使距离总和最大,每条边乘上的系数就要尽量的大, 设fx表示点x的儿子个数,那每一条边能乘上的最大的系数,就是:min(n−fx,fx) 这种贪心原创 2017-02-20 16:31:02 · 573 阅读 · 0 评论 -
51nod 1405 树的距离之和【树形dp】
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1405题意:给定一棵无根树,假设它有n个节点,节点编号从1到n, 求任意两点之间的距离(最短路径)之和。 Input第一行包含一个正整数n (n <= 100000),表示节点个数。 后面(n - 1)行,每行两个整数表示树的边。Output每行一个整数,第i(i原创 2017-03-01 19:25:23 · 268 阅读 · 0 评论 -
Codeforces 711C. Bear and Tree Jumps【树形dp好题】
题目:http://codeforces.com/contest/791/problem/D题意:你可以从树上的节点一次最多走k条边。 (称为跳一次); 树为无权树; 然后问你任意两点之间的条的次数的和为多少; 分析:不会做,看题解:http://codeforces.com/blog/entry/51068 代码:#include <bits/stdc++.h>using namespa原创 2017-03-24 12:46:48 · 376 阅读 · 0 评论