Processing math: 0%

随笔分类 -  DP --- 树形dp

摘要:题面 题解 CF1327F AND Segments + 整体 dp。 首先预处理 \mathrm{pre}_i 表示向上最深的 f(e) = 1 的边的深度最小值。 设 f_{i, j} 表示当前在点 i,最深的 f(e) = 1 的深度为 j 的方 阅读全文
posted @ 2020-08-20 14:32 xgzc 阅读(870) 评论(0) 推荐(6) 编辑
摘要:动态 dp 之友( 阅读全文
posted @ 2020-08-13 09:32 xgzc 阅读(456) 评论(4) 推荐(1) 编辑
摘要:"题面" 题解 首先将所有相等的用并查集缩点,然后会发现题目有一个很有用的性质: 对每张图片i,小D都最多只记住了某一张质量不比i差的另一张图片K_i。 于是将K_i作为i的父亲节点,对于K_i = 0的点,令i的父亲为n + 1即可。 开始树形dp,设$f[x] 阅读全文
posted @ 2019-02-20 15:33 xgzc 阅读(198) 评论(1) 推荐(0) 编辑
摘要:"题面" 题解 首先我们需要看懂题目 然后我们需要发现一个结论 只要有一个节点的权值确定,那么整棵树的权值就确定了 就像这样:(图片来源于网络,侵删) 然后我们根据这张图片,可以设f[i] = a[i] \cdot \prod_f \mathrm{son}[f] 其中fi的祖先,$\m 阅读全文
posted @ 2019-02-18 10:48 xgzc 阅读(127) 评论(0) 推荐(0) 编辑
摘要:题面 \text{BZOJ}间接权限题 洛谷的弱化版 题解 三点距离两两相等要满足以下条件: 有一个相同的\text{LCA} 所以如果存在一个点,使得另外两个点在它子树中,距离为d,且\text{LCA}距这个点为d, 那么这三个点就距离两两相等。 设f[i][j]表示以$ 阅读全文
posted @ 2019-01-06 18:35 xgzc 阅读(311) 评论(0) 推荐(2) 编辑
摘要:题面 题解 缩点之后一个裸的树型背包 代码 阅读全文
posted @ 2019-01-04 16:24 xgzc 阅读(116) 评论(0) 推荐(0) 编辑
摘要:"题面" 题解 树形dp(最大独立集) 设f_{i,0/1}表示dp到第i个点,在这个点放了(没放)士兵的最小花费 直接转移即可。 代码 cpp include include include define RG register define file(x) freopen( x" 阅读全文
posted @ 2018-10-23 21:48 xgzc 阅读(141) 评论(0) 推荐(0) 编辑
摘要:"题面" 题解 树形背包板子题。 设f[i][j]表示在以x为根的子树选j门课(包括x)能够获得的最高学分,用分组背包转移即可。 代码 cpp include include define RG register inline int read() { int data = 0, w 阅读全文
posted @ 2018-10-19 17:14 xgzc 阅读(351) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示