树形dp
zzk_233
这个作者很懒,什么都没留下…
展开
-
bzoj 1812 [IOI2005] riv (树形dp,树上背包)
这道题比较有难度。。。首先可以想到f[i][k]表示i点的子树中用了k个伐木场。但是这显然没法转移。那么我们加上一维, f[i][j][k]表示i点的子树内用了k个伐木场并且上一个用的位置为j,而当前点可选可不选(看第二维的状态),之后用子树更新即可 合并的时候和更新的时候要特殊考虑i==j的情况。 枚举这个点其他子树内用了w个,这个子树为k-w 当不选择这个点时f[i][j][k]=mi...原创 2018-10-04 15:36:45 · 129 阅读 · 0 评论 -
bzoj 1023: [SHOI2008]cactus仙人掌图
起了个仙人掌的名字但是它并不是仙人掌(的做法)。。。。 首先这个图确实是个仙人掌。。。然后如果只有树的话就可以只跑树上最长链(dfs两遍)。 然而有一些比较烦人的环。所以我们考虑把它优化掉。所以把树上最长链以dp的形式实现。 dp[i]代表这个点上的最长链。 然后环怎么办呢,可以首先造一个dfs树,然后把环的最高点作为这个环用来dp的点, 其余的点的互相连通情况在判环的过程中进行,之后这...原创 2018-10-10 20:29:26 · 148 阅读 · 0 评论 -
bzoj 3573: [Hnoi2014]米特运输
题目好难懂。。 简述题意:给出一棵树,要求满足两个要求: 1.每个节点的子节点权值相等。 2.每个节点的权值和是这个节点的权值。 然后就出最小修改点的数量来满足这个要求。 那么显而易见只要确定一个节点就可以确定群图节点权值。这样枚举是的。 通过这个结论我们发现只要确定1就可以确定全图,所以可以通过让每一个节点权值不动,然后判断有多少个1最后的值相同, 就是最多有多少个不用动的,因为1...原创 2018-10-25 08:14:48 · 107 阅读 · 0 评论 -
雅礼集训 Day2 T3 联盟
原创 2018-10-24 09:38:45 · 251 阅读 · 0 评论