![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树
p__| wYw |__q
这个作者很懒,什么都没留下…
展开
-
C++树形DP初级入门题——The Fair Nut and the Best Path
目录前言题目分析代码后记前言许多新人(包括我)在掌握树形DP时都比较困难。此题为树形DP里还算简单的一道题,适合初学者入门。那么,树形DP是什么呢?我们都已经学过了动态规划,也就是DP。树形DP与DP本质上并无区别,它的特点在于DP状态的转移并不是简单的线性上的转移,树形DP状态的转移依赖的是树(图)。题目原题题面上全是废话(还是英文的),所以我直接来解释题...原创 2019-01-31 22:50:57 · 486 阅读 · 0 评论 -
C++树形DP入门题——Anniversary Party
目录前言题目大意分析代码后记前言发现这个月快完了还没写几篇博客,于是来水水博客hhh这篇博客如果没有树形DP的基础比较难看懂,所以可以先看看这篇博客那么我们就直接切入正题看题面吧。题目大意在一个很强大的公司,有n个职员,每个职员都有唯一一个上司。这些职员在自己那唯一一个上司在时是不会来参加派对的。每个职员有一个开心指数。求来了的职员的最大开心指数。...原创 2019-01-31 23:06:43 · 484 阅读 · 0 评论 -
C++高级算法之树形DP——如何找树的重心(包看包懂)
前言最近在学树形DP,感触颇多。下面就写出来了。题目问题 C(2078): 求树的重心时间限制:1 Sec内存限制:128 MB题目描述树的重心定义为树的某个节点,当去掉该节点后,树的各个连通分量中,节点数最多的连通分量其节点数达到最小值。树可能存在多个重心。如下图,当去掉点1后,树将分成两个连通块:(2,4,5),(3,6,7),则最大的连通块包含节点个数为3。...原创 2019-02-12 17:29:41 · 1446 阅读 · 1 评论 -
C++剑指offer:树形DP——河流(riv):较复杂的树形DP 应用多叉树转二叉树的方法
前言先来讲讲我是怎么用四天的时间来做这道题的吧。第一天:看老师的课件,了解了思路,并得知了状态转移方程是如何得出的。第二天:上网查题解,决定不用多叉树转二叉树,用自己的代码打出来。第三天:真香,决定用多叉树转二叉树。第四天:放弃直接动态规划,使用记忆化搜索。这里简单阐述一下我为什么要用多叉树转二叉树与记忆化搜索。第一,如果不用多叉树转二叉树,此题真的会变得非常复杂,不信...原创 2019-03-07 17:30:33 · 320 阅读 · 0 评论 -
剑指Offer:C++较复杂的树形背包问题(01背包)——有线电视网
前言此题是一道中上难度的树形背包问题。其实质其实就是01背包问题。难点在于状态的转移以及状态转移方程,不同于其他的树形背包题目。应该说很有特点吧,十分适合初学者练练手。没有了解过树形背包的读者可以看看我的这篇博客https://blog.csdn.net/weixin_44049566/article/details/88110155,这样看的时候才不会很困难。题目问题 J(...原创 2019-03-11 13:15:58 · 513 阅读 · 0 评论