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
「BSOJ2163」 人品问题 -
树形Dp
题目大意在一棵以1为根,各节点编号在1~n的二叉树上,选出1以外的k个节点,使得选出来的点的权值和最大,并且满足除1的两个儿子以外的节点的父亲都被选上。输出最大的权值和。分析比较水的树型DP。设为以为根的子树选个节点的最大权值和,则。再注意一下细节就可以了。代码#include#include#includeusingnamespacestd;intn,k;intlc[105],rc[105],v
TbYangZ
·
2020-08-09 12:57
动态规划---树形Dp
Appleman and Tree
树形DP
ApplemanandTreeApplemanhasatreewithnvertices.Someofthevertices(atleastone)arecoloredblackandotherverticesarecoloredwhite.Considerasetconsistingofk(0 ≤ k #includeusingnamespacestd;#defineN100003#define
IR1S
·
2020-08-09 11:27
Dynamic
programming
Codeforces 981H K Paths 分治FFT+
树形dp
题意给一棵nn个节点的树,现在要从树上按顺序选出kk条路径(可以相同),满足任意一条边要么被覆盖不超过11次,要么被覆盖恰好kk次,且被覆盖kk次的边数不能为00。问方案。n,k≤105n,k≤105分析先考虑暴力,我们可以枚举两个端点uu和vv,然后保证每条选出的路径都包含这两个点之间的路径。那么现在要从这两个点为根的子树中分别选出kk个端点,使得这些端点到根的路径没有公共边。设szvszv表示
SFN1036
·
2020-08-09 10:32
树形dp
快速傅里叶变换
分治
Appleman and Tree(
树形dp
)
题目链接:codeforces461B题目大意:给出一棵树,每个点是白色或者黑色,问有多少种方案能够通过去掉一些边使每个联通块中只有一个黑色的点。题目分析:定义状态dp[i][0…1]表示点i在以点i为根的子树中去掉边后点i所在的联通块有黑点(1)和没有黑点(0)的方案数。那么我们对于点u,首先考虑它的颜色,如果是黑色,那么dp[i][1]=1,否则dp[i][0]=1。然后我们考虑给点u这个根添
黎辰
·
2020-08-09 10:18
codeforces的dp专题
Codeforces 462D Appleman and Tree
树形dp
把树分成若干个联通块使得每个联通块有且仅有一个黑点,问有多少种分法(结果mod1e9+7)思路:
树形dp
,每个点有2个状态,已经归属于某个黑点和未归属于某个黑点。
九野的博客
·
2020-08-09 10:06
树形DP
codeforce
CF 461B - Appleman and Tree(
树形DP
)
题意:给出一颗树,每个点要么是黑色,要么是白色,设黑点的数量是k,求将树划分成k个子树,并且每颗子树都只有一个黑点的划分方案。思路:树dp还是很好看出来的,对于一个节点u来说,如果它是黑点,那么就要把它子树中所有包含黑点的子树删掉,如果不是,那么还是要删黑点,但是可以保留一个包含黑点的子树。dp[u]表示处理完u的子树的总方案数,del[u]表示将u的子树中包含黑点的子树都删掉的方案数。那么显然,
qian99
·
2020-08-09 10:42
dp
选课
树形DP
题意/Description:大学里实行学分。每门课程都有一定的学分,学生只要选修了这门课并考核通过就能获得相应的学分。学生最后的学分是他选修的各门课的学分的总和。每个学生都要选择规定数量的课程。其中有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其它的一些课程的基础上才能选修。例如,《数据结构》必须在选修了《高级语言程序设计》之后才能选修。我们称《高级语言程序设计》是《数据结构》的先
peter_zhu01
·
2020-08-09 10:12
CodeForces - 1118F1 Tree Cutting (Easy Version)
树形dp
Youaregivenanundirectedtreeofnnvertices.Someverticesarecoloredblue,somearecoloredredandsomeareuncolored.Itisguaranteedthatthetreecontainsatleastoneredvertexandatleastonebluevertex.Youchooseanedgeandre
mmk27
·
2020-08-09 09:02
树形dp
CodeForces - 622E dfs+贪心
思路:一看到树形图在加上求最小值,还以为是
树形DP
,然而贪心就足够了。因为要求最短时间,所以我们要尽可能地让所有蚂蚁同时动,因此就要让离根节点最近的先到根结点,如果让离根节点远的蚂蚁先走的话,
WA是一笔财富
·
2020-08-09 09:48
codeforces
dfs
贪心
HDU Tree(
树形dp
)
http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1007&cid=883题意:给一个树,边权。有一个整数k,找树的子图G,满足:G内连通、度大于k的顶点个数不大于1、总权值要尽可能大。解析:对于每个点,维护down[i]down[i]down[i]表示往下选择k−1k-1k−1个儿子(儿子也最多选择k−1k-1k−1个)的最大权
JK Chen
·
2020-08-09 08:44
DP动态规划
动态规划之
树形DP
专题(附题目清单)
之所以这样命名树规,是因为
树形DP
的这一特殊性:没有环,dfs是不会重复,而且具有明显而又严格的层数关系。利用这一特性,我们可以很清晰地根据题目写出一个在树(型结构)上的记忆化搜索的程序。
剑锋OI
·
2020-08-09 08:31
动态规划
树形动态规划
算法总结
动态规划问题
CF 461B Appleman and Tree (
树形dp
)
首先定义状态,dp[i][1]为以i为根的子树中有一个黑点的的方案数,dp[i][0]为以i为根的子树中没有黑点的方案数。状态转移方程为dp[i][1]=dp[i][1]*(dp[j][0]+dp[j][1])+dp[i][0]*dp[j][1];dp[i][0]=dp[i][0]*(dp[j][1]+dp[j][0]);j为i的子结点。首先解释第一条方程,当以i为根的子树(指已经遍历过的子树)中
c_cl
·
2020-08-09 07:25
dp
选课(
树形DP
)
原题来自:CTSC1997大学实行学分制。每门课程都有一定的学分,学生只要选修了这门课并通过考核就能获得相应学分。学生最后的学分是他选修各门课的学分总和。每个学生都要选择规定数量的课程。有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其他的一些课程基础上才能选修。例如《数据结构》必须在选修了《高级语言程序设计》后才能选修。我们称《高级语言程序设计》是《数据结构》的先修课。每门课的直接先
baibu2262
·
2020-08-09 07:02
DP训练(不想写博客的题目)
HDU2196Computer(
树形dp
经典)题意:给出一棵树,求离每个节点最远的点的距离;code:#include#definelllonglongusingnamespacestd;constintmaxn
Vwsrenzk
·
2020-08-09 07:26
zzz
P2014 选课 题解(
树形DP
)
题目链接P2014选课解题思路树形动归,用\(f[i][j]\)表示以\(i\)为根,\(j\)个子节点(不包括自己)的最大学分首先根据题意建图,用根节点\(0\)将森林连成树。从根节点开始\(DFS\)遍历,遍历到叶节点后回溯,回溯过程中将\(f[i][j]\)更新,利用背包的思想。\(DFS\)过程中,\(num\)为离根节点0更近的定点,遍历的\(i\)为\(num\)的子节点,容易得出递推
avgjeco84463674
·
2020-08-09 07:53
codeforces 461B Appleman and Tree (
树形dp
)
题意:给定n个点的树,0为根,下面n-1行表示每个点的父节点最后一行n个数表示每个点的颜色,0为白色,1为黑色。把树分成若干个联通块使得每个联通块有且仅有一个黑点,问有多少种分法(结果mod1e9+7)题解:状态dp[i][2]1表示这个点在内子树归属于黑点了,0表示不归属。方程:dp[u][1]=dp[u][1]*dp[v][0]+dp[u][1]*dp[v][1]+dp[u][0]*dp[v]
My_ACM_Dream
·
2020-08-09 06:26
动态规划
动态规划—树形dp
codeforces
树形dp
:选课
树形dp
:选课题目Description学校实行学分制。每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分。
Lbuntu
·
2020-08-09 06:18
树形dp
dp
多叉树转二叉树
hdu4126Genghis Khan the Conqueror (最小生成树+
树形dp
)
TimeLimit:10000/5000MS(Java/Others)MemoryLimit:327680/327680K(Java/Others)TotalSubmission(s):2524AcceptedSubmission(s):760ProblemDescriptionGenghisKhan(成吉思汗)(1162-1227),alsoknownbyhisbirthnameTemujin(
Herumw
·
2020-08-09 06:37
树形dp
hdu5886Tower Defence(
树形dp
)
TimeLimit:3000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):242AcceptedSubmission(s):80ProblemDescriptionTherewasacivilwarbetweentwofactionsinSkyrim,aprovinceoftheEmpireo
Herumw
·
2020-08-09 06:06
树形dp
树形dp
第三周上机题解
ACotree
树形DP
,参考链接:Cotree【树DP】BMath此题需要较好数学功底,参考链接:MathCTrap容斥原理+组合计数,参考链接:TrapDWave此题考察线段树,但由于c范围较小,也可暴力模拟
JXUFE_ACMer
·
2020-08-09 06:19
上机题解
Codeforces Round #263 (Div. 1) B. Appleman and Tree
树形DP
dp[u][1]表示u节点在某个黑色点集中的方案数dp[u][0]表示u节点在某个白色点集中的方案数因为如何切边和父亲没有关系,所以只需要dfs,从底层更新至上方案数就是按照组合的乘法规则直接乘起来就行了
SuPhoebe
·
2020-08-09 05:42
动态规划
&
贪心
bsoj 1660 选课(
树形DP
)
【模拟试题】选课TimeLimit:10000MSMemoryLimit:65536KTotalSubmit:365Accepted:166CaseTimeLimit:1000MSDescription在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习。现在有N门功课,每门课有个学分,每门课有一门或没有
Pira
·
2020-08-09 04:22
DP
CodeForces - 622E Ants in Leaves 贪心
思路:这个题的话,看到了是树.还是个E题,一般会去想
树形dp
,可是仔细一想的话其实贪心是可以解决的.由于可以从一号点所有的子孩子同时到达1(不阻塞),那么我们只需要找到1号点所有的孩子所分别构成的子树
Marcus-Bao
·
2020-08-09 04:11
codeforces
贪心
LOJ 3124 「CTS2019 | CTSC2019」氪金手游——概率+
树形DP
题目:https://loj.ac/problem/3124看了题解:https://www.cnblogs.com/Itst/p/10883880.html先考虑外向树。考虑分母是\(\sumw\),同样一个子树,其实不会因为子树外部分的\(\sumw\)不同而对子树内的DP值有影响。比如,在只考虑以子树内的\(\sumw\)为分母的情况下做出了“cr子树内部合法的方案数f[cr]”设\(W'=
weixin_34310369
·
2020-08-09 00:28
#loj3124. 「CTS2019 | CTSC2019」氪金手游
简单容斥先假设所有点的权值都给定了随便选一个点当根开始dfs,如果所有边都是向下指的那么答案就是\[\prod_{u}\frac{w(u)}{siz(u)}\]其中\(siz(u)\)表示u子树所在的点的点权和如果权值不确定的话,我们用
树形
weixin_30314813
·
2020-08-08 23:55
NOIP 2018 保卫王国 (动态 DP)(LCT)
传送门跟动态DP的模板差不多考虑朴素的
树形dp
dpdpfu,0=∑vfv,1f_{u,0}=\sum_{v}f_{v,1}fu,0=v∑fv,1fu,1=val[u]+∑vmin(fv,0,fv,1)f
FSYo
·
2020-08-08 21:56
LCT
动态DP(学习笔记)
树上最大权独立集我们可以用
树形dp
O(n)dpO(n)dpO(n)地求出来,设f[u][0/1]f[u][0/1]f[u][0/1]表示uuu为根的子树uuu选或不选的最优方案,可以列出转移式:f[u]
..、
·
2020-08-08 21:48
动态DP
——动态规划——
笔记
洛谷P4516:[JSOI2018]潜入行动(
树形dp
)
题面大概就是
树形dp
设f[i][j][0/1][0/1]f[i][j][0/1][0/1],表示ii的子树里选了jj个,ii有没有选,ii是否被覆盖然后类似卷积的合并,就能算出答案一个显然的性质,节点i
KKiseki
·
2020-08-08 18:52
dp
[WC2019] 数树 容斥原理+矩阵树定理+
树形Dp
+计数Dp+生成函数优化Dp+多项式求Exp
[WC2019]数树题目传送门分析最近老是在肝一些神仙生成函数题。。。哎,肝败吓疯。其实luogu题解里面的那篇已经很详细了,这篇题解纯属个人整理,建议是到到luogu题解去看。题目大意:告诉你有俩棵有标号无根树,如果某两个节点共用了某条边,那么这两个点的权值必须相同,点权范围在[1,y][1,y][1,y]内,有三个任务,求在给定2,1,0棵树的情况下构造树和点权的方案数。Task0:简单转化如
lvzelong2014
·
2020-08-08 17:38
动态规划-计数DP
数学相关-生成函数
数学相关-FFT与NTT
数学相关-容斥原理
动态规划-树形DP
动态规划-结合
图论-矩阵树定理
【LuoguP4719】动态DP模板-树链剖分+线段树+矩阵乘法
一般的DP我们肯定会做,序列上的线性动态DP(可以用线性递推式递推的DP)很容易想到用线段树+矩阵乘法优化,但最大权值独立集这个经典
树形DP
模型要动态维护的话,有两个和上面问题不同的地方,第一是它不是序列
Maxwei_wzj
·
2020-08-08 12:55
数据结构-线段树
算法-树链剖分
数学-线性代数
【CF856D】Masha and Cactus-
树形DP
+LCA+树状数组
做法:本题需要用到
树形DP
+LCA+树状数组。首先转化一下问题。不难想到,添加一条边会使得树上的一条路径上的点被一个环覆盖,那么要使一个点至多在一个环中,也就是要求添加的边所对应的路径不
Maxwei_wzj
·
2020-08-08 12:55
动态规划-树形DP
算法-LCA
数据结构-树状数组
2018/7/12-纪中某C组题【jzoj4272,jzoj4273,jzoj4274】
前言今天我的想法都是正解,也都写了,结果才160QwQ今日分数去掉了十分强大的纪中dalao正题T1:jzoj4272-序章-弗兰德的秘密【
树形dp
】博客链接:https://blog.csdn.net
ssl_wyc
·
2020-08-08 01:04
模拟赛
NOIP2019集训9.24 day2题解
T1林下风气100pts
树形DP
枚举每一个点作为根节点,并且将当前点的值设为联通块的最大值st,向下搜索子节点a[j],a[j]满足条件0usingnamespacestd;constintN=4000
Trilarflagz
·
2020-08-08 01:50
NOIP2019集训
牛客 树学
树形dp
思路:如果是求根为1的点,整棵树的深度和,我们可以用一次dfs来统计每个节点的深度。现在考虑换根:我们发现现在的根2的子树及2本身的深度都减1,其余点的深度都加1。那么我们不仅需要统计每个点的深度,而且要统计每个节点子节点的数量cnti,再需要一次dfs。然后最后一次dfs是dp的过程,考虑对于换根点v,其原来父节点为u,那么dpv=f[u]-cnt[i]+(n-cnt[i])。最后求所有的dpi
Preeee
·
2020-08-07 23:29
动态规划篇
二叉树最长连续序列
树形dp
问题
用f(p)表示从p节点出发的最长连续序列,显然由如下关系f(p)=max(f(p->left),f(p->right))+1,然后再找到f(p)的最大值即可classSolution{public:intres=0;intlongestConsecutive(TreeNode*root){//这里求的是所有root中最长路径dfs(root);returnres;}intdfs(TreeNode*
wwxy261
·
2020-08-07 22:11
算法
变强之路(OI知识盘点)
OI知识盘点#表示未掌握一、DP1.状态压缩DP2.
树形DP
(两种写法:多叉转二叉;套背包)3.最短路DP(通过SPFA不断刷新)4.斜率优化DP(需学习的话直接百度文库《动态规划优化专题》)(1).X
TMAC小虺
·
2020-08-07 19:19
总结
hdu 2196 树的直径的应用
网上看到很多关于这题的博客是用
树形dp
做的,代码还挺复杂的要求最远距离和次远距离,个人感觉不用这么麻烦,用三次dfs就行了,,用的的性质是我们可以发现树上离某点最远的点一定是到树的直径的端点其中的一个,
丽尔巴茨
·
2020-08-07 14:33
图论
[CF735E]Ostap and Tree
OstapandTree题解看到这道题,是很容易想到
树形dp
的。设为在节点的子树中,节点是最近的黑点,且距离超过的点都被满足的方案数。
Tan_tan_tann
·
2020-08-07 12:05
#
树形dp
C++[POJ1849]铲雪车问题——
树形DP
求出树的直径
[POJ1849]铲雪车问题时间限制:1Sec内存限制:128MB题目描述大雪覆盖了整座城市,市政府要求冬季服务部门尽快将一些街道(列在一份清单中)的积雪清除掉以恢复交通。整个城市由许多交叉路口和街道构成,当然任意两个交叉路口都是直接或间接连通的。清单给出了最少的街道,使得这些街道的积雪清除后任意两个交叉路口之间有且仅有一条通路。冬季服务部门有2辆铲雪车和2名司机,这2辆铲雪车的出发点相同,都位于
p__| wYw |__q
·
2020-08-05 20:37
C++
动态规划
树形DP
wust-1299-结点选择(
树形DP
)
ProblemDescription有一棵n个节点的树,树上每个节点都有一个正整数权值。如果一个点被选择了,那么在树上和它相邻的点都不能被选择。求选出的点的权值和最大是多少?Input第一行包含一个整数n。接下来的一行包含n个正整数,第i个正整数代表点i的权值。接下来一共n-1行,每行描述树上的一条边。Output输出一个整数,代表选出的点的权值和的最大值。SampleInput512345121
faithdmc
·
2020-08-05 18:12
蓝桥杯2015年JavaB组
牌型种数(DFS+剪枝)加法变乘法饮料换购垒骰子(DFS)垒筛子(记忆化DFS)垒筛子(动态规划)垒筛子(DP滚动数组+快速幂)垒筛子(矩阵快速幂)生命之树(暴力过部分数据)生命之树(搜索)生命之树(
树形
甘甘甘甘甘甘甘
·
2020-08-05 18:20
蓝桥杯
小Biu的树(
树形dp
)
小Biu的树(
树形dp
)题目描述小Biu有一颗有根树,树上有n个节点(编号1~n)。
)NCuyALnA$Ke
·
2020-08-05 08:42
至2020-03-28信奥总结
各个专题的理解程度:在此我就列个表格吧:名称理解程度图论最短路50%
树形DP
70%区间DP30%背包80
ZHX_SD
·
2020-08-04 23:22
NOIP提高组复赛 知识点整理
bfs、双向bfs启发式搜索迭代加深搜索动态规划:记忆化搜索背包问题(01背包,完全背包,混合背包)环形DP数位DP区间DP序列DPDP优化(数据结构优化,单调队列优化,斜率优化)状态压缩DP图上DP
树形
.E.
·
2020-08-04 23:53
知识梳理
hdu5416
树形dp
树上路径异或和
D-CRBandTreeTimeLimit:4000MSMemoryLimit:65536KB64bitIOFormat:%I64d&%I64uSubmitStatusPracticeHDU5416Appointdescription:SystemCrawler(Aug31,20167:27:46PM)DescriptionCRBhasatree,whoseverticesarelabeledby
猿的进化之路
·
2020-08-04 22:17
------树形dp
wannaly挑战赛1 A Treepath(
树形dp
/dfs
题目连接:题意:直接无脑
树形dp
即可dp[u][0]表示u的子树内的节点到u一共有几个奇数路径dp[u][1]表示状态u的子树内到u一共有几个偶数路径或者直接dfs,将间隔的点染成黑白色,那么相隔的点连起来一定就是偶数路径了
树形
Yishui_Blog
·
2020-08-04 19:30
online
judge
NOW
动态规划
树形
搜索
DFS/BFS
BZOJ - 2654 ZJOI 三色二叉树 DFS序
树形DP
大家都很强,可与之共勉。1864:[Zjoi2006]三色二叉树TimeLimit:1SecMemoryLimit:64MBDescriptionInput仅有一行,不超过500000个字符,表示一个二叉树序列。Output输出文件也只有一行,包含两个数,依次表示最多和最少有多少个点能够被染成绿色。SampleInput1122002010SampleOutput52HINTSourceDay1用
Lazer2001
·
2020-08-04 18:57
树形DP
BZOJ
左神进阶班笔记Part5:
树形DP
、LRU、LFU、
【TIP】二叉树的题目,不是遍历就是改递归
树形DP
:在树上做动态规划,套在递归里。计算顺序一定是从小树到大树,难在分析可能性。【步骤】1.分析完可能性,列出信息全集,推出返回值类型结构(用类封装)。
Owl丶
·
2020-08-04 17:23
数据结构和算法
337.打家劫舍Ⅲ
然后看答案
树形DP
,初始解法一+后续两种优化。题解一:(超时)其实还是递归层数的问题,加个lru_cache()装饰器就好了。#Definitionforabinarytreenode.
LotusQ
·
2020-08-04 16:23
朱滕威的面试之路
NOIP总结
动态规划:线性dp,区间dp,
树形dp
*,线段树优化,前缀和优化,单调队列优化,滚动数组优化内存。
pretend_fal
·
2020-08-04 16:51
NOIP范围浅谈
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
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
其他