随笔分类 -  动态规划-动态DP

摘要:[BZOJ4032][HEOI2015]最短不公共子串(后缀自动机+序列自动机+DP) 题面 给两个小写字母串A,B,请你计算: (1) A的一个最短的子串,它不是B的子串 (2) A的一个最短的子串,它不是B的子序列 (3) A的一个最短的子序列,它不是B的子串 (4) A的一个最短的子序列,它不 阅读全文
posted @ 2020-04-20 21:28 birchtree 阅读(177) 评论(0) 推荐(0)
摘要:动态DP学习笔记 约定: 若无特别说明,数组下标从1开始. 若无特别说明,矩阵的下标从0开始(这是为了和代码一致,而代码这样实现是为了节省内存) 在公式中,矩阵用粗斜体表示,如$\bm$ 若无特别说明,对于有根树上的结点$x$,$child(x)$表示它儿子的集合,$son(x)$表示它的重儿子 对 阅读全文
posted @ 2020-04-11 20:03 birchtree 阅读(299) 评论(0) 推荐(0)
摘要:[LuoguP4426][AHOI2018]毒瘤(动态DP) 题面 给出一个$n$个点$m$条边的无向图,求独立集个数。 $n \leq 10^5,n 1 \leq m \leq n+10$ 分析 注意到$|m n|$很小,我们可以暴力枚举这些非树边$(u,v)$的状态,按两边选和不选有(0,0)( 阅读全文
posted @ 2020-04-11 19:56 birchtree 阅读(188) 评论(0) 推荐(0)
摘要:[NOIP2018]保卫王国(动态DP) 题面 给出一棵树,有m组询问,每次询问给出两个点,规定他们必须选或必须不选。求树的最小权覆盖集。 分析 此题有倍增+树形dp的做法,常数非常优秀,但思路比较难想到。 显然 最小权覆盖集=总点权和 最大权独立集 看到最大权独立集,我们想到板子题 "[Luogu 阅读全文
posted @ 2020-04-08 22:07 birchtree 阅读(271) 评论(0) 推荐(0)
摘要:[LuoguP4719][模板]动态DP(动态DP) 题面 给出一棵$n$个点的树,点带权。$m$组修改,每次修改一个点的点权,并询问整棵树最大权独立集大小。 分析 约定:$child(x)$表示$x$的儿子集合,$son(x)$表示$x$的重儿子。 先写出树形DP.设$f_{x,0/1}$表示不选 阅读全文
posted @ 2020-04-08 21:56 birchtree 阅读(219) 评论(0) 推荐(0)