随笔分类 - 动态规划----树形dp
摘要:Pro:https://www.luogu.com.cn/problem/P3942 Sol: 时隔多年重新学会了这道题目的正确做法 首先我们可以得到这样一个显然的贪心就是 每次找到一个深度最深的没被覆盖的点 然后找到他的K级祖先 然后把他K级祖先周围距离不超过K的点全部覆盖 正确性显然 但这样做的
阅读全文
摘要:挺不错的一个题。 题意即为求一个图的独立集方案数。 如果原图是一棵树,可以直接大力f[x][0/1]来dp。 由于非树边很少,考虑2^11容斥,强制某些点必选,然后再O(n)dp,这样应该过不了。 发现这个容斥本质上是对一些点进行修改,修改的形式是强制它必须选。 直接xjb上一个ddp就没了。 这里
阅读全文
摘要:枚举出每个数的权值的质因子。 对每个质因子建树求一遍直径,这样做的复杂度显然均摊后是n logn的,因为每个点最多只会被拆成logn个点。 口胡的,没代码qwq
阅读全文
摘要:题目的描述有点玄学。 但发现把一个树切成k+1个联通块后,再连接起来并且找一个最长的路径的方法,显然是这个k+1个联通块首尾相接,直径连直径。 进一步的,这个问题等价于在树上选择恰好k+1条链,不允许点相交,路径可以为一个点,使得路径长度之和最大。 这个东西首先可以用一个O(nk)的dp来搞,然而n
阅读全文