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
HDU 1561
树形dp
+背包
分析:攻下一座城堡的前提是要先攻下它的前驱城堡,建立一个以0为根结点的树,他的权值为0dp(i,j)表示以i为根结点去j个的最大值。dp(i,1)=v[i](v[i]为攻下i城堡获得的宝藏)对与u结点取j+1个,可以转化为以孩子i为根取k个+以自己为根取j+1-k个和自己取j+1个的最大值(为什么是j+1,因为建立了一个虚拟结点0,所以即使攻下某一城堡不需要先攻下其中一个城堡时,也要攻下0号虚拟城
ivancr
·
2020-09-17 11:44
树形dp
hdu 2196
树形dp
经典题目
ComputerTimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2532AcceptedSubmission(s):1301ProblemDescriptionAschoolboughtthefirstcomputersometimeago(sothiscompute
_rabbit
·
2020-09-17 03:19
树形dp
AcWing1073.树的中心(
树形DP
)题解
题目传送门题目描述给定一棵树,树中包含n个结点(编号1~n)和n−1条无向边,每条边都有一个权值。请你在树中找到一个点,使得该点到树中其他结点的最远距离最近。输入格式第一行包含整数n。接下来n−1行,每行包含三个整数ai,bi,ci,表示点ai和bi之间存在一条权值为ci的边。输出格式输出一个整数,表示所求点到树中其他结点的最远距离。数据范围1≤n≤100001≤ai,bi≤n−105≤ci≤10
逐梦er
·
2020-09-17 02:50
动态规划
动态规划
算法
acwing 746.树的重心(
树形dp
)
传送门描述给定一颗树,树中包含n个结点(编号1~n)和n-1条无向边。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。输入格式第一行包含整数n,表示树的结点数。接下来n-1行,每行包含两个整数a和b,表示点a和点b之间存在一条边。输出格式输出一个整数m,表示重心的
One believe
·
2020-09-17 02:51
AcWing
动态规划
【题解】Codeforces Round #569 (Div. 1) - 1179D. Fedor Runs for President
所以要最小化的式子:∑i为环上点szi∗(szi−1)/2\sum_{i为环上点}sz_i*(sz_i-1)/2∑i为环上点szi∗(szi−1)/2然后就考虑
树形DP
,f[x]表示x向父亲延伸出的路径在最终的环上
Thomas_ZQQ@Runespoor
·
2020-09-16 19:30
DP
codeforces9D How many trees?
传送门:http://codeforces.com/problemset/problem/9/D【题解】
树形dp
,f(i,j)表示i个节点,高度为j的方案数,枚举左子树大小和哪一个子树高度为j-1即可。
aklm45097
·
2020-09-16 18:49
bzoj5314: [Jsoi2018]潜入行动【
树形dp
】
Description外星人又双叒叕要攻打地球了,外星母舰已经向地球航行!这一次,JYY已经联系好了黄金舰队,打算联合所有JSOIer抵御外星人的进攻。在黄金舰队就位之前,JYY打算事先了解外星人的进攻计划。现在,携带了监听设备的特工已经秘密潜入了外星人的母舰,准备对外星人的通信实施监听。外星人的母舰可以看成是一棵n个节点、n-1条边的无向树,树上的节点用1,2…n编号。JYY的特工已经装备了隐形
Neo__Z
·
2020-09-16 11:35
树形dp
bzoj
算法基础课:第五章 动态规划(三)
数位统计DP338.计数问题状态压缩DP291.蒙德里安的梦想91.最短Hamilton路径
树形DP
285.没有上司的舞会记忆化搜索901.滑雪
PeterBishop0
·
2020-09-16 07:30
AcWing算法学习
邻接表详解
以前接触到这个还是从
树形dp
最先接触的,没有系统的看过所以有点模糊吧,今天特地抽出了一点时间来看这这个知识,其实还是有点不是特别好理解。我是通过下面的博客进行学习的个人感觉非常详细的。
凌晨四点的洛杉矶fly
·
2020-09-16 06:21
算法
数据结构
邻接表
BZOJ 4027 [HEOI2015]兔子与樱花 - 贪心
一开始想二维
树形dp
,结果发现nm乘起来肯定会挂,然后继续膜hzwer学长的代码,发现是道瓜题。。。
x_1023
·
2020-09-16 00:46
贪心
bzoj1509[NOI2003] 逃学的小孩
理应是
树形dp
,dfs也可以。最坏情况下就是花得时间最长。那么直径(u,v)一定含在路径中。然后再选一个min(dis(u,x),dis(v,u))最大的点加上直径就是答案。虽
Euryale_
·
2020-09-15 23:39
树形dp
BZOJ 1509: [NOI2003]逃学的小孩
傻逼
树形DP
,WA了半天QAQ。
nlj1999
·
2020-09-15 23:37
动态规划
2020.09.05【省选组】模拟
在建好圆方树之后我们就
树形dp
。设f[i]表示从i的子树到i的最长链的长度。
chiyankuan
·
2020-09-15 22:05
省选/NOI
树形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
动态规划
上一页
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
其他