树形背包
新笑雨
这个作者很懒,什么都没留下…
展开
-
noi.ac 9
题目链接 解法 首先考虑当n==k时,答案就是所有边权2-直径的长度。然后k<n时,就是求一个大小为k的联通块,使得联通块内的所有边权2-直径的长度最小。考虑树型背包。 设f[i][j][0]表示以i为根的子树,选了j个点(i自己也在这个联通块里),总边权*2的最小值.f[i][j][1]表示以i为根的子树,从i开始一口气选了j个点组成的一条链的答案最小是多少。f[i][j][2]表示以i为...原创 2020-02-19 11:43:33 · 149 阅读 · 0 评论 -
codeforces 1280D
题目链接 题意 给一棵树,树上每个点有两个权值,分别是wi,bi 要求将树分成m个联通块,要求最多能有几个联通块内的∑wi>∑bi\sum wi \gt \sum bi∑wi>∑bi 数据范围 多组数据,组数<=100 n,m<=3000 ∑n≤1e5\sum n\le 1e5∑n≤1e5 解法 树形背包 首先有一个简单的想法:f[i][j][k]表示第i个点的子树,被分成...原创 2020-01-11 15:59:53 · 196 阅读 · 0 评论