原文:换根DP学习笔记

今天打 Atcoder 时遇到了一道换根 DP ,发现自己不太会,学习了一下。 一般来说,这类题在做树形 DP 时没有固定的根,可以枚举根然后做 N 次树形 DP ,但复杂度是不太优的,于是有了换根 DP ,一般通过两次对整棵树的 dfs 遍历来求解,复杂度一般是线性的。 还是用例题来直观讲解吧。 POJ Accumulation Degree 题意 有一个 n 个结点的树形水系,每条 u gt ...

2021-10-11 09:46 10 97 推荐指数:

查看详情

[算法学习] dp

dp 一般来说,我们做题的树都是默认 \(1\) 为的。但是有些题目需要计算以每个节点为时的内容。 朴素的暴力:以每个点 \(u\) 作为 \(root\) 暴力dfs下去,复杂度\(O(n^2)\); 正确的做法:dp,复杂度\(O(n)\)。 执行步骤 第一次扫描,先 ...

Tue Apr 07 01:31:00 CST 2020 3 651
DP

dp的通法:1.第一次扫描时,任选一个点为,在“有树”上执行一次树形DP,也就在回溯时发生的,自底向上的状态转移。 2.第二次扫描时,从刚才选出的出发,对整棵树执行一次dfs,在每次递归前进行自上向下的推导,计算出后的解。 例题POJ3585 Accumulation ...

Wed Oct 30 23:53:00 CST 2019 2 918
浅谈DP

浅谈DP 本篇随笔浅谈一下算法竞赛中的DPDP概念 DP其实是树形DP的一种延伸技巧或者说是方法。 它的使用范围是,对树上的每个点跑树形DP。这样的话,不用DP一点一点跑的复杂度就是\(O(n^2)\),必炸。那么DP应运而生。简单来讲,就是我们会通过推理 ...

Sat Sep 05 03:39:00 CST 2020 0 608
dpdp学习笔记

1 dpdpdp dpdp 中的 dp 一定是 dpdp 的基础,而 dpdp 也就是从 dp 的基础上 dp 而来的。 没错,上面这句话就是套娃。 为了方便大家理解,从这句话开始,dpdp 将作为一个不加空格的词,方便区分。 dp 的时候,我们一般 ...

Thu Jan 14 05:57:00 CST 2021 0 513
树形$dp$学习笔记

今天学习了树形\(dp\),一开始浏览各大\(blog\),发现都\(TM\)是题,连个入门的\(blog\)都没有,体验极差。所以我立志要写一篇可以让初学树形\(dp\)的童鞋快速入门。 树形\(dp\) 概念类 树形\(dp\)是一种很优美的动态规划,真的很优美真的,前提是在你 ...

Wed Sep 05 06:16:00 CST 2018 7 3911
[学习笔记]整体DP

问题: 有一些问题,通常见于二维的DP,另一维记录当前x的信息,但是这一维过大无法开下,O(nm)也无法通过。 但是如果发现,对于x,在第二维的一些区间内,取值都是相同的,并且这样的区间是有限个,就可以批量处理。 思想: 通过动态开点线段树维护第二维, 如果某个节点没有儿子 ...

Wed May 29 19:30:00 CST 2019 0 447
AtCoder abc160 F - Distributing Integers【dp

传送门 题意 给一颗树,指定一个点,从这个点开始染色,每次只能在已染色点旁边染色,问从每个点开始染色分别能产生多少种染色序列。 题解 这个问题其实就是问一颗有树的拓扑序列个数。 其实我们知道不是树的有向无环图的拓扑序列个数是个np问题,但是树的拓扑序列个数是一个可解的问题。\(n ...

Mon Mar 30 18:01:00 CST 2020 4 362
poj3585(树形dp法)

法思想为, 1,随便找一个点作为进行dp, 2,再以原来点为进行dp,此次dp,设最优解为 f[x],那么f[root]=d[root],这是显而易见的 然后再通过找d[son]与f[x]之间关系进行dp 比如本道题,若f[x]已知最优解,那么把son换成,f[x]的最优解即为 ...

Sun Aug 05 00:03:00 CST 2018 1 904
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM