E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
——树形DP
树形dp
多角度思考创造性思维—-运用树型动态规划的解题思路和方法的探析摘要在近几年信息学竞赛中,需要运用树型动态规划解决的问题频繁出现,这些问题变化繁多、各类思想精华渗透其中,对选手分析问题的能力和解题创造性思维有着较高的要求,因此它在竞赛中占据了重要地位。本文将分析近几年国际比赛、全国比赛中的树型动态规划问题,重点探讨几种树型动态规划问题的解法,并从这些问题的分析过程中,提炼出解决这类问题的思想方法——
aaf76097
·
2020-09-15 22:37
数据结构与算法
ui
一句话详细题解+优质题目及其博客(清真代码)链接 (持续更新)+知识点讲解汇总
CODEVSNOI2002贪吃的九头蛇codevs1746题解:
树形DP
,发现当”小头”大于等于2的时候,我们可以让小头们交替地去吃果子,比如son让小头A吃,可以让小头B吃father,让小头A吃grandfather
NOIAu
·
2020-09-15 22:13
一句话题解
树的直径和重心
树的重心定义:最大子树大小最小的点是重心求法:还是
树形dp
性质:1、一棵树最多有两个重心,并且它们是相邻的。2、树中所有点到某个点的距离和中,到重心的距离和是最小的。
chiyankuan
·
2020-09-15 21:12
算法
树的直径与重心
2.
树形DP
,f[i][0],f[i][1]分别记录以顶端端点为i的最长链和次长链长度,不断更新即可,ans=max(f[i][0]+f[i][1])。模板题POJ1985typenode=reco
setio
·
2020-09-15 21:31
学习笔记
模板 - 树上问题(树的直径、动态查询树的直径、树的重心)
整理的算法模板合集:ACM模板目录一、树的直径
树形DP
两次DFS/BFS(找到直径的两个端点)二、动态修改树的边权并求每个时刻的直径(线段树)三、树的重心一、树的直径树的直径满足如下性质:若有多条直径,
繁凡さん
·
2020-09-15 21:09
【ACM模板】
#
图论基础
#
树的直径
Tree with Small Distances(
树形dp
||贪心)
考虑最优的的添加一定是直接与1节点相连,那么如何让添加一条边影响更多的点呢,考虑倒着做,如果叶子节点距离大于2,最优添加方式一定是将其父节点连接到1上,一定比直接添加到叶子节点上影响的点更多,那么只需要
树形
- Passerby ゛
·
2020-09-15 15:39
dp
贪心
树形dp
bzoj 4871: [Shoi2017]摧毁“树状图” [
树形DP
]
update5.1:刚刚发现bzoj上这个做法被hack了....以后再想一下别的做法吧一开始以为这是三合一,写了x=2和x=1.后来才明白...人家给出的本来就是最优...你自己再求也无所谓x=0的
树形
weixin_34041003
·
2020-09-15 15:47
BZOJ4871 Shoi2017摧毁“树状图”(
树形dp
)
设f[i][0/1/2/3/4/5]表示i子树中选一条链不包含根/i子树中选一条链包含根但不能继续向上延伸/i子树中选一条链可以继续向上延伸/选两条链不包含根/选两条链包含根但不能继续向上延伸/选两条链能继续向上延伸,大力讨论即可。代码看起来很(mo)有(ming)意(qi)思(miao)。#include#include#include#include#include#includeusingn
weixin_30371469
·
2020-09-15 15:30
[BZOJ4871][
树形DP
]SHOI2017:摧毁“树状图”
BZOJ4871题外话:这是魔禁里的那个树状图么题内话:建议大家找个有图的题解很容易看出来是
树形DP
,设计状态:f[x][0]f[x][0]f[x][0]:穿过x向上的半条链f[x][1]f[x][1]
romiqi_new
·
2020-09-15 14:01
树形DP
bzoj4871: [Shoi2017]摧毁“树状图” //
树形dp
bzoj4871:[Shoi2017]摧毁“树状图”题意给出一棵大小为N(#defineN500005#definemn(x,y)if(x'9');dox=(x='0'&&ch<='9');}intmain(){rd(T),rd(op);while(T--){rd(n);for(inti=0;i
Starria
·
2020-09-15 13:40
树形dp
bzoj4871 [Shoi2017]摧毁“树状图”(
树形dp
)
细节繁多的
树形dp
囧orzltx这个人有图呢!
Icefox_zhx
·
2020-09-15 13:06
bzoj
树形dp
BZOJ4557 JLoi2016 侦察守卫 【
树形DP
】*
BZOJ4557JLoi2016侦察守卫Description小R和B神正在玩一款游戏。这款游戏的地图由N个点和N-1条无向边组成,每条无向边连接两个点,且地图是连通的。换句话说,游戏的地图是一棵有N个节点的树。游戏中有一种道具叫做侦查守卫,当一名玩家在一个点上放置侦查守卫后,它可以监视这个点以及与这个点的距离在D以内的所有点。这里两个点之间的距离定义为它们在树上的距离,也就是两个点之间唯一的简单
Dream_Maker_yangkai
·
2020-09-15 13:23
c++
BZOJ
DP
DP
好题
[六省联考2017]摧毁“树状图”
思路:
树形DP
。
weixin_34095889
·
2020-09-15 13:58
【SHOI&SXOI2017】bzoj4871 摧毁“树状图”
考虑关于边的
树形dp
,对于有向边e:u−>v,维护fe=max{degv−1,fe1+degv−2}(e1:v−>w,w≠u)ge=max{fe,fe1+fe2+degv−3}(e1:v−>w,e2:v
sdfzyhx
·
2020-09-15 13:04
动态规划
图论
bzoj
省选真题
[六省联考2017]摧毁“树状图” 复杂
树形Dp
一道很烦很烦的
树形Dp
。套路就是统计过根和不过根路径。把路径看成线,那么子树合并就是线的拼接,我们称能拼接的线为一个线头。相当于是挂在子树根上的一条链。fff是不过子树内部不过根一条路径的答案。
lvzelong2014
·
2020-09-15 13:37
动态规划-树形DP
leetcode 第337题 打家劫舍 III (
树形dp
)
题目描述:在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。来源:力扣(LeetCode)链接
自动小哥
·
2020-09-15 06:21
leetcode
leetcode
动态规划
树形dp
入门之 The more, The Better
题目链接:https://vjudge.net/contest/327529#problem/M题目:ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡。你能帮ACboy算出要获得尽量多的宝物应该攻克哪M个城堡吗?输入:每个测
Han Gang
·
2020-09-15 03:11
小白学算法
POJ Cow Marathon(树的直径)
/*问题:求树的直径方法:
树形DP
*/#include#includeusingnamespacestd;constintN=5e4+5;structedge{intto,nex,wi;}es[N<<1
漂流瓶终结者
·
2020-09-15 02:43
图论
Tree Cutting (Easy Version) CodeForces - 1118F1(
树形DP
思想)
传送门题意:给出一个树,然后对树上每个点进行染色,每次可以割去一条边,使得两边要么只有蓝色,要么只有红色,白色无所谓,就是不能一边既有红色又有蓝色,问图中有多少条这样的边?题解:从1开始跑子树,维护当前点以及子树的红色个数和蓝色个数,之后再从1开始跑每条边,如果子树的红色个数等于所有红色个数并且蓝色个数为0,或者红色满蓝色空,那么以可以割去这条边,通过维护子树来进行。附上代码:#includeus
肘子zhouzi
·
2020-09-14 21:23
树形DP
CodeForces - 1084D(
树形dp
)
裸的
树形dp
,我们从第一个点出发进行dfs,用dp[i]记录第i个点的权值最大,从儿子节点到父亲节点的权值取最优。即:dp[u]=max(dp[u],dp[u]+dp[v
曾英俊
·
2020-09-14 21:07
codeforces题解
Codeforces 743 D Chloe and pleasant prizes
思路:
树形dp
入门。用vector存树的信息,每次遍历的时候不走回头路,dp数组去存这个节点下最大的子树价值和。
Cry_Kill
·
2020-09-14 21:45
dp
ACM(已完结)
树形dp
总结
列出一些经典问题吧:1:给出一棵树每个节点有权值要求父节点和子节点不能同时取求能够取得的最大值(hdu1520)2:给出一棵树,求离每个节点最远的点的距离(hdu2196)3:1>在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中允许攻克M个城堡并获得里面的宝物。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡。求获得尽量多的宝物应该攻克哪M个城堡
weixin_30603633
·
2020-09-14 20:45
Codeforces 1118F1 Tree Cutting (Easy Version) (简单
树形DP
)
题目大意:给定一棵树,树上的点有0,1,2三中情况,0代表该点无色。现在需要你将这棵树割掉一些边,使得割掉每条边分割成的两部分均最多只含有一种颜色的点,即分割后的两部分不能1,2点夹杂(0的点数可以任意),问你最多能有几条这样的割点。解题分析:dfs求解出所有点以自己为根的子树i中1,2,节点的个数num1,num2,然后根据母树与子树之间的num1,num2值做差,能够得到i的另一部分的1,2,
weixin_30443895
·
2020-09-14 20:34
codeforces275D - Zero Tree
树形dp
这个题一开始做的时候有一念想到
树形dp
然后被自己那想歪的思路直接给带成了递归,当时没能考虑到把加减分开直接abs累加了惭愧惭愧D.ZeroTreetimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputAtreeisagraphwithnverticesandexactl
夜雨声訉
·
2020-09-14 20:12
dp
HDU 1561 The more, The Better /
树形DP
树形DP
选m个节点权值加起来最大因为可能是森林就是都没有限制就可以选去一个超级源点0这样就是一棵树了然后就是基础的
树形DP
了DP方程很好想也很好转移#include#include#includeusingnamespacestd
芋智波佐助
·
2020-09-14 20:21
树形DP
Codeforces 23E (大数乘法+
树形dp
)
//
树形dp
一般从最上面递归到最下面,然后往上转移。importjava.util.*;importjava.io.*;importjava.math.
ThreeWater-
·
2020-09-14 20:25
树形dp
51nod1405(
树形dp
)
链接:点击打开链接题意:给定一棵无根树,假设它有n个节点,节点编号从1到n,求任意两点之间的距离(最短路径)之和代码:#pragmacomment(linker,"/STACK:102400000,102400000")#include#include#include#include#include#includeusingnamespacestd;constlonglongSIZE=100005
Stayaccept
·
2020-09-14 20:28
动态规划
---------树形dp
uva 1484 Alice and Bob's Trip (
树形dp
)
本文出自http://blog.csdn.net/shuangde800题目来源:UVAHDU题意给一棵n个结点的树,结点编号为0~n-1,顶点是0每条边都有一个权值。Alice和Bob初始位置在顶点,要往下一直走到叶子结点。第一次是由Bob选择走向哪个子结点,第二次轮到Alice,依次轮流下去...每走过一条边就会获得相应的权值,Bob希望所走的路径总权值越大越好,而Alice希望越小越好每次他
shuangde800
·
2020-09-14 20:37
动态规划
ACM-ICPC征途
Tree Cutting (
树形dp
+ 树的重心问题变形)
题目:TreeCuttingAfterFarmerJohnrealizedthatBessiehadinstalleda"tree-shaped"networkamonghisN(1#include#include#include#include#include#include#definemaxn10005typedeflonglongll;usingnamespacestd;vectortre
sdau164185
·
2020-09-14 20:28
树形dp
Codeforces 1118F1-Tree Cutting (Easy Version) (
树形dp
入门题)
我们一起去砍树咔咔咔Youaregivenanundirectedtreeofnnvertices.Someverticesarecoloredblue,somearecoloredredandsomeareuncolored.Itisguaranteedthatthetreecontainsatleastoneredvertexandatleastonebluevertex.Youchoosea
From now on...
·
2020-09-14 20:59
搜索
树形dp
动态规划
树形dp
Codeforces Round #168 (Div. 2) D题 Zero Tree
ZeroTreeAtreeisagraphwithnverticesandexactlyn - 1edges;thisgraphshouldmeetthefollowingcondition:thereexistsexactlyoneshortest(bynumberofedges)pathbetweenanypairofitsvertices.AsubtreeofatreeTisatreewit
不拿牌不改名
·
2020-09-14 20:54
#
树型dp
树形dp
【Choosing Capital for Treeland 】【CodeForces - 219D 】(
树形dp
)
题目:ThecountryTreelandconsistsofncities,somepairsofthemareconnectedwithunidirectionalroads.Overalltherearen - 1roadsinthecountry.Weknowthatifwedon'ttakethedirectionoftheroadsintoconsideration,wecangetf
洋-葱
·
2020-09-14 20:04
树形dp
Groundhog and Apple Tree(
树形DP
+ 分类讨论 + 贪心)
题目大意:有一棵苹果树,每个节点有一个苹果,吃掉uuu点的苹果能获得aua_uau点HP,经过第iii条边需要消耗wiw_iwiHP,在原地等待一秒可以获得111HP,每条边只能经过两次,问从1号节点出发吃掉所有苹果最少需要等待多少秒。分析:首先在某个点一次性把所需要的HP等够是显然正确的,根据每条边只能经过两次,解的形式一定是先吃掉某棵子树,再回到根,再吃其它子树,最优解是一个吃的顺序的问题,而
猝死在学ACM的路上
·
2020-09-14 20:28
树形dp
贪心
分类讨论
思维
P1270 “访问”美术馆(
树形dp
)
题目连接:https://www.luogu.com.cn/problem/P1270思路:一开始想错了,以为是树上背包,后来发现每个非叶子结点会存在时间分配不同的问题,所以只要枚举每个非叶子结点对两棵子树分配的时间多少就好了。代码:#includeusingnamespacestd;constintN=2005;structNode{intw1,w2;}cur[N<<2];inttim,dp[N
WA掘机
·
2020-09-14 20:20
dp
洛谷
codeforces 14D 暴力
树形dp
题意:有n个城市,n-1条路。求断开一条路之后分成的两部分所构成的树的直径的积的最大值;分析:n的取值范围不大,所以暴力枚举每条边。#include#include#include#include#include#include#includeusingnamespacestd;typedeflonglongLL;#definemet(a,b)memset(a,b,sizeof(a))#defin
A_root_A
·
2020-09-14 19:29
树形dp
2018/7/22一周训练日记总结
今天补了补昨天牛客多校的几个题,其实能补的也不多,一个树状数组的,另一个二分贪心过的题,还有一个
树形dp
题没有补出来通过这种的训练,发现能做出来的多校题基本上分为这几个类别:贪心,思维,线段树或树状数组
胖亚亚
·
2020-09-14 19:42
2018年暑假训练日记
51nod 1405 树的距离之和 (
树形dp
)
Description给定一棵无根树,假设它有n个节点,节点编号从1到n,求任意两点之间的距离(最短路径)之和。Input第一行包含一个正整数n(nusingnamespacestd;typedef__int64LL;constintmaxn=1e5+10;structnode{intto;intnext;}edge[maxn>n;for(inti=1;i>u>>v;addedge(u,v);ad
小坏蛋_千千
·
2020-09-14 19:28
动态规划
Work Group(
树形dp
)
题目链接:codeforces533B题目大意:每个人有一个直接的领导,1是总裁,现在要找一个最大的集合,每个领导领导的人的数量都是偶数,问最大的值是多少。题目分析:定义状态dp[u][i]为以点u为根节点的子树的选取的点的个数是奇数或偶数且合法的最大的权值和。为了保证合法,那么被选取每个点所选取的孩子的所在子树的点的个数之和一定是偶数。如果某个点不选取,那么可以它的孩子为根的子树和为奇数的状态。
黎辰
·
2020-09-14 19:47
codeforces的dp专题
Centroids(
树形dp
)
C.CentroidsTreeisaconnectedacyclicgraph.Supposeyouaregivenatreeconsistingofnvertices.Thevertexofthistreeiscalledcentroidifthesizeofeachconnectedcomponentthatappearsifthisvertexisremovedfromthetreedoes
lov_vol
·
2020-09-14 19:04
Codeforces
我的dp之路
Centroids (
树形dp
)
E.Centroidstimelimitpertest4secondsmemorylimitpertest512megabytesinputstandardinputoutputstandardoutputTreeisaconnectedacyclicgraph.Supposeyouaregivenatreeconsistingofnvertices.Thevertexofthistreeisca
LzyRapX
·
2020-09-14 19:36
ACM_树形DP
codeforces
Codeforces Round #263 (Div. 2) D
树形dp
链接:戳这里D.ApplemanandTreetimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputApplemanhasatreewithnvertices.Someofthevertices(atleastone)arecoloredblackandotherver
CrossDolphin
·
2020-09-14 19:05
树形dp
DFS
CF708C:Centroids(
树形dp
& 重心构造判断)
C.Centroidstimelimitpertest4secondsmemorylimitpertest512megabytesinputstandardinputoutputstandardoutputTreeisaconnectedacyclicgraph.Supposeyouaregivenatreeconsistingofnvertices.Thevertexofthistreeisca
junior19
·
2020-09-14 19:09
树形dp
51nod 1405 树的距离之和 (两次dfs,
树形dp
)
给定一棵无根树,假设它有n个节点,节点编号从1到n,求任意两点之间的距离(最短路径)之和。Input第一行包含一个正整数n (n #include#include#include#include#include#pragmacomment(linker,"/STACK:10240000,10240000")//递归太深,导致爆栈,所以使用扩栈语句usingnamespacestd;typedefl
h1021456873
·
2020-09-14 19:05
dfs
DP
51nod
树形dp
【codeforces 274B】【
树形DP
】 B. Zero Tree【一棵树,每个点有权值,每次操作可以对一个联通子集中的点全部加或者减1,且每次操作必须包含点1,问最少多少次操作权值全为0】
传送门:B.ZeroTree描述:B.ZeroTreetimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputAtreeisagraphwithnverticesandexactlyn - 1edges;thisgraphshouldmeetthefollowingcon
QiufengWang424
·
2020-09-14 19:32
online
judge
Codeforces
------树形DP
[CF274B] Zero Tree
树形dp
题目翻译请看洛谷传送门题目描述Atreeisagraphwithnverticesandexactlyn - 1edges;thisgraphshouldmeetthefollowingcondition:thereexistsexactlyoneshortest(bynumberofedges)pathbetweenanypairofitsvertices.AsubtreeofatreeTisa
diyiqu4089
·
2020-09-14 18:54
CodeForces 274B
树形dp
//继续水一道
树形dp
1#include"iostream"2#include"cstdio"3#include"cstring"4#include"algorithm"5#include"cmath"
diufeng0879
·
2020-09-14 18:54
Codeforces274B
Codeforces274B做法:
树形dp
,\(up[u]\)至少加多少次,\(down[u]\)至少减多少次可以消去u这棵子树转移:首先\(up[u]=max(up[v]),down[u]=max(down
dehukun0483
·
2020-09-14 18:43
Centroids(
树形DP
)
C.Centroidstimelimitpertest4secondsmemorylimitpertest512megabytesinputstandardinputoutputstandardoutputTreeisaconnectedacyclicgraph.Supposeyouaregivenatreeconsistingofnvertices.Thevertexofthistreeisca
c_cl
·
2020-09-14 18:04
dp
[CF274B]Zero Tree
问最少多少步才能使所有点的点权为0数据范围1≤n≤1051≤|vi|≤109思路
树形DP
。每次相当于是从当前点到根沿路打了加减标记。f[i]表示以i为根的子树需要加的值。
Yveh
·
2020-09-14 18:10
Codeforces
动态规划
树形DP
Codeforces D. 0-1-Tree (
树形dp
)
codeforces.com/contest/1156/problem/D题意:给你一颗树,同时给每一条边定义一个属性0和1,定义(x,y)表示x到y,其中我们经过1边后不能经过0边,求有多少对(x,y);做法:本蒟蒻只想得到
树形
KXL5180
·
2020-09-14 18:19
ACM题解
动态规划
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他