一、树形 DP 基础 又是一篇鸽了好久的文章……以下面这道题为例,介绍一下树形 DP 的一般过程。 POJ 2342 Anniversary party 题目大意:有一家公司要举行一个聚会,一共有 \(n\) 个员工,其中上下级的关系通过树形给出。每个人都不想与自己的直接上级同时参加聚会 ...
今天学习了树形 dp ,一开始浏览各大 blog ,发现都 TM 是题,连个入门的 blog 都没有,体验极差。所以我立志要写一篇可以让初学树形 dp 的童鞋快速入门。 树形 dp 概念类 树形 dp 是一种很优美的动态规划,真的很优美真的,前提是在你学会它之后。 实现形式 树形 dp 的主要实现形式是 dfs ,在 dfs 中 dp ,主要的实现形式是 dp i j , i 是以 i 为根的子 ...
2018-09-04 22:16 7 3911 推荐指数:
一、树形 DP 基础 又是一篇鸽了好久的文章……以下面这道题为例,介绍一下树形 DP 的一般过程。 POJ 2342 Anniversary party 题目大意:有一家公司要举行一个聚会,一共有 \(n\) 个员工,其中上下级的关系通过树形给出。每个人都不想与自己的直接上级同时参加聚会 ...
这里是学习韦神的6道入门树形dp进行入门,本来应放在day12&&13里,但感觉这个应该单独放出来好点。 这里大部分题目都是参考的韦神的思想。 A - Anniversary party 题意:一个树,每个点有一个“快乐”值,父子结点不能同时快乐,问这个结构的最大快乐值 ...
DP毕竟是算法中最精妙的部分,理解并玩得花哨还是需要一定的时间积累 之前对普通的DP也不敢说掌握,只能说略懂皮毛 在学习树形DP 的同时也算是对DP有了更深的理解吧 DP的关键就在于状态的定义以及找转移 首先要考虑清楚状态,状态要能够很好地并且完整地描述子问题 其次考虑最底层的状态 ...
1 dp 和 dp套dp dp 套 dp 中的 dp 一定是 dp 套 dp 的基础,而 dp 套 dp 也就是从 dp 的基础上 dp 而来的。 没错,上面这句话就是套娃。 为了方便大家理解,从这句话开始,dp套dp 将作为一个不加空格的词,方便区分。 dp 的时候,我们一般 ...
问题: 有一些问题,通常见于二维的DP,另一维记录当前x的信息,但是这一维过大无法开下,O(nm)也无法通过。 但是如果发现,对于x,在第二维的一些区间内,取值都是相同的,并且这样的区间是有限个,就可以批量处理。 思想: 通过动态开点线段树维护第二维, 如果某个节点没有儿子 ...
\(noip\)考了,赶紧补一发。 不得不说网上的题解还是不错的ljq的代码吼啊 一开始看的博客 模板 其实我感觉看博客不如看别人优秀的代码来的快 朴素\(dp\)的想法就是\(f_{i,01}\)表示当前点\(i\)选还是不选。 而动态\(dp\)的思想就是,把\(dp ...
知识点 动态规划(简称dp),可以说是各种程序设计中遇到的第一个坎吧,这篇博文是我对dp的一点点理解,希望可以帮助更多人dp入门。 先看看这段话 动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优 ...
树形背包的一般形式 给定一棵有$n$个节点的点权树,要求你从中选出$m$个节点,使得这些选出的节点的点权和最大,一个节点能被选当且仅当其父亲节点被选中,根节点可以直接选。 $n^3$解法 原理 考虑设$f[u][i]$表示在$u$的子树中选择$i$个节点(包括它本身)的最大贡献,则可列出 ...