树形DP
文章平均质量分 89
# 树形DP
Azcii
这个作者很懒,什么都没留下…
展开
-
UOJ Round #20 T1 A. 【UR #20】跳蚤电话(组合数+树形DP)
UOJ Round #20 T1 A. 【UR #20】跳蚤电话题目大意给出一棵树,求建出该树的不同操作方案数。建树方式如下:初始SSS集合只有111,操作111为取已连的边x,yx,yx,y和不在SSS的点zzz,删去边(x,y)(x,y)(x,y),加入边(x,z),(y,z)(x,z),(y,z)(x,z),(y,z),再把zzz放入SSS;操作222为取SSS内的点xxx和SSS外的点yyy,加入边(x,y)(x,y)(x,y),再把yyy放入SSS。2≤n≤1052\le n \le 10原创 2021-04-05 19:59:50 · 328 阅读 · 0 评论 -
COCI 2020/2021 Svjetlo(树形DP)
COCI 2020/2021 Svjetlo题目大意求最短的树上路径(可以重复经过点或边)长度使得经过每个点的次数满足给定的奇偶性。树的大小为NNN。N≤500000N\le 500000N≤500000题解路径是可以重复的,简单的树形DP可能难以处理,考虑路径的拼接。设fi,j,kf_{i,j,k}fi,j,k表示第iii个点的子树内(除了自己)的奇偶性已经满足,且子树内(包括自己)的路径端点数有jjj个,第iii个点的奇偶性为kkk的最短路径长度,其中j∈{0,1,2},k∈{0,1原创 2020-12-02 22:24:30 · 721 阅读 · 0 评论 -
JZOJ 6870. 【2020.11.17提高组模拟】ckw的树(树上期望DP+解方程)
JZOJ 6870. 【2020.11.17提高组模拟】ckw的树题目大意求大小为NNN树上每个点随机游走到MMM个标记点中任意一个的期望时间。M,N≤105M,N\leq 10^5M,N≤105.题解暴力做法可以根据题意列出NNN条方程,高斯消元解出每个点的期望,时间复杂度O(N3)O(N^3)O(N3)。这样做每个点的方程中会有它的祖父、父亲、兄弟层(包括自己)、儿子层、孙子层和常数,即为Ek=aEfafak+bEfak+c∑Ebro+d∑Esonk+e∑Esonsonk+fE_k=a原创 2021-01-07 20:12:52 · 282 阅读 · 0 评论 -
JZOJ 4225. 【五校联考3day1】宝藏(树上随机游走)
JZOJ 4225. 【五校联考3day1】宝藏题目DescriptionInputOutputSample Input231 01 221 0 12 0 2 140 12 03 013 0 1 0 1Sample Output1.00005.0000<空行>11.0000Data Constraint题解这是一个树上随机原创 2019-01-26 21:57:45 · 359 阅读 · 0 评论 -
JZOJ 6868. 【2020.11.17提高组模拟】数树(容斥+树上背包)
JZOJ 6868. 【2020.11.17提高组模拟】数树题目大意给出一棵大小为NNN的树,树边有向,求∀i∈[1,N)(ai,ai+1)∉Edge\forall i\in[1,N)(a_i,a_{i+1})\notin Edge∀i∈[1,N)(ai,ai+1)∈/Edge的排列方案数。N≤5000N\leq 5000N≤5000.题解题意即任意一条树边的两点不能在排列中按边的指向方向连续出现。不难会想到容斥,假设已经知道了至少有iii条边不合法的方案数sis_isi,则ans原创 2021-01-07 20:12:45 · 318 阅读 · 0 评论 -
Codeforces 1146F. Leaf Partition(树形DP)
Codeforces 1146F. Leaf Partition题目大意给出一棵大小为NNN的有根树,把所有叶子节点分成若干集合,求使得每个集合分别连成的最小连通块之间互不相交的划分方案数。N≤105N≤10^5N≤105题解一眼看到这题,想到了LCA,想到了DFS序……其实正解完全没这么复杂,只是简单的树形DP。设f[x][0/1]f[x][0/1]f[x][0/1]表示节点xxx向上延伸或不延伸的方案数(延伸是为了和其他子树内的叶子节点构成连通块),乍一看它的儿子节点是否延伸对它是原创 2020-09-22 22:28:51 · 239 阅读 · 2 评论 -
JZOJ 3252. 【GDOI三校联考】炸弹(树形DP)
JZOJ 3252. 【GDOI三校联考】炸弹题目Description在一个N行M列的二维网格里,有些格子是空地(用字符‘.’表示),有些格子是障碍物(用字符‘#’表示)。每个空地格子都有一只虫子,虫子不会移动。FJ打算用最少的炸弹把所有的虫子消灭。FJ每次可以选择在一个空地格子(不妨假设是格子a)放置一个炸弹,这个炸弹爆炸后,格子a的虫子会被消灭,假设有另一个空地格子b,如果空地格子b同时满足如下两个条件,那么空地b格子的虫子也会被该炸弹消灭:1.格子a和格子b在同一行或者在同一列。2.格子a原创 2020-08-10 21:43:27 · 265 阅读 · 0 评论