随笔分类 - DP--树形DP
摘要:A - Cookie Exchanges 看到这种题一般能想到直接枚举一定次数,不行就输出无解。 可以证明是 \(\log n\) 次,没想过证明。 B - Unplanned Queries 观察样例容易发现,或者这类题我好像见过类似的,结论就是如果所有端点都被取偶数次,那么就是可行的,反之不行。
阅读全文
摘要:树上最小路径覆盖 不交路径覆盖 树形dp或者贪心。 可交路径覆盖 经典结论:叶子数量除以二上取整,贪心即可。 DAG最小路径覆盖 不交路径覆盖 现在有这样一个问题:给出一个DAG,求最少多少条不相交路径可以将其覆盖。 解决办法是建立这样一个图,对每个点拆点 \(x,x+n\) ,然后对于每条边 \(
阅读全文
摘要:题目 链接:https://xjoi.net/contest/3536/problem/2 SDOI2009 消防 树网的核线性版本 分析 经典题,有结论:选取的路径一定在直径上。 于是就很好做了,直接dp一下然后再双指针在直径上求一下即可。 代码 #include<bits/stdc++.h> u
阅读全文
摘要:题目 CF101D Castle 分析 期望其实就是求这个平均值。 显然并不能直接贪心,因为涉及到某一个子树可以只走一次。(其实本质是某一条链会只走一次,不用返回根节点) 于是可以考虑 \(dp\) ,既然刚刚说到这个问题,我们就可以直接这样设,那么状态就是 \(dp[x]\) 表示 \(x\) 这
阅读全文
摘要:题目 求选出两条不相交树链的长度的最大乘积 数据范围1e5。 (CF那个是弱化版,数据范围 1000) SP6717 TWOPATHS - Two Paths CF14D Two Paths 分析 首先弱化版的思路很暴力,就是这样想:选出来的两条路径一定被某一条边分开,正确性显然。 直接枚举断边,然
阅读全文
摘要:题目 CF1324F Maximum White Subtree 分析 换根 \(dp\) 。 换根 \(dp\) 简单题,刚开始把题目看错了,树看成无向图了。 直接设 \(dp_i\) 表示以 \(i\) 为根,子树的答案,换根也很简单,详细见题解。 (实在是太水不知道该说啥了) 代码 #incl
阅读全文
摘要:前言 这个题还有个加强版:BSOJ6376【11.05模拟】草莓 大概是人均场切了。 题目 CF1000G Two-Paths 分析 首先这个路径一定是一条链加上若干回路的路径。 每次 \(x\) 到 \(y\) 的途中都可以进入子树进行获取贡献,为了尽可能大,我们可以先 \(dp\) 出每一个点到
阅读全文
摘要:题目 分析 显然如果我们某个时候把这个多余的叶子指定为根的话,那么其子节点的树哈希值就应该等于原树某个点的哈希值。 于是可以考虑直接换根dp,第一个树直接把每一个节点的值都扔进一个哈希表,第二个树的时候可以对于每一个节点作为根的时候,消去自己的贡献然后判断是否存在这个消去后的数即可。 代码 #inc
阅读全文
摘要:题意 分析 可能是思维题? 首先我们发现取最小值的操作就尽可能填小的数。 如果考虑通过“代价”来求得最大值: 那么其实对于一个取最小值的节点,我们如果定义其代价,很容易发现就是“所有子节点的代价之和”,而最大值呢,就是“所有子节点代价的最小值”。 我们要让这个代价越小越好,而取最小值显然会让我们不得
阅读全文
摘要:题目 P4103 [HEOI2014]大工程 分析 虚树$+dp$。 很明显其实题目就是建出虚树,然后对于三问分别考虑: 第一问就是可以考虑计算每一条边的贡献,也就是左端的 \(siz\) 和右端的 \(siz\) 的乘积,就是这条边经过次数。 二三问就是经典的树的直径的 \(dp\) 做法。 代码
阅读全文
摘要:题目 CF613D Kingdom and its Cities 给定一棵树,每次给定一些关键点,要求割掉最少的点使得这些点两两之间不连通。 分析 虚树。 首先很明显是个虚树,于是可以直接建虚树,然后就开始 \(dp\)。 我们可以使用“状态机”这样的模型:用状态的 0/1 来规定当前点选/不选。
阅读全文
摘要:题目 P2495 [SDOI2011]消耗战 一棵树,边有边权,每次给 \(m\) 个关键点,要求求出使得这 \(m\) 个点不能从根节点出发到达,需要断掉的边的边权总和的最小值。 分析 虚树模板题。 首先看到特征关键点,还有数据范围的求和符号,很明显是虚树。 于是我们可以发现题目要求的,我们可以先
阅读全文
摘要:题目 P6326 Shopping 分析 首先发现很明显是树上多重背包。 于是可以考虑设状态 \(dp[x][i]\) 表示(必选$x$)和其子树连通块,且背包容量为 \(i\) 时的最大价值。 直接单调队列 \(dp\) ,明显是 \(O(n^2m)\) 。 那么考虑优化,我们发现这里的难点无非就
阅读全文

浙公网安备 33010602011771号