树形dp
蜗角虚名羊
这个作者很懒,什么都没留下…
展开
-
洛谷P1273 有线电视网
题目题解:f[t][j]表示i连接j个用户的费用(可能是负数) 初始化:f[i][0]=0,其他为负无穷 状态转移方程: 1.t为用户 f[t][1]=mon[t-n+m] 2.t不为用户 f[t][j]=max(f[t][j],f[t][j-k]+f[e[i].to][k]-e[i].w) e[i].to为连接的那个点,e[i].w为连接的费用标程:#include...原创 2018-04-23 15:29:58 · 124 阅读 · 0 评论 -
51nod 1353 树
题目 题解 不太懂为什么是O(n2)O(n2)O(n^2)的,有知道的麻烦解释一下,谢谢#include<bits/stdc++.h>using namespace std;typedef long long ll;const int M=1e9+7,N=2002;struct node{ int to,ne;}e[N<<1];int tot...原创 2018-06-29 22:56:11 · 192 阅读 · 0 评论 -
bzoj1040: [ZJOI2008]骑士
题目 题解 树形DP,没有上司的舞会的模型 根据题目可以知道, 每一个联通块里有且只有一个环, 所以我们找到这个环然后从中间把它断开, 对断开的两个端点u1, u2, 分别舞会。 设dp[u][0]为不选u, dp[u][1]为选u, 那么这个联通块答案就是max(dp[u1][0], dp[u2][0])。 注意有好多联通块。对于所有联通块跑dp,加起来就是答案...原创 2018-06-19 20:41:31 · 143 阅读 · 0 评论 -
51nod 1299 监狱逃离
题目 题解 按我的理解对题解改了一些Description给出一个n+1个点n条边的树,其中每一个度数为1的点为出口。 现在有一些点有逃犯,你需要在一些没有逃犯的点放置警卫,有警卫的点逃犯无法经过。 求若使所有逃犯均无法到达出口,最少需要多少个警卫。 n<=10^5Solution为什么我一眼想到最小割=w= 就是所有的逃犯无法到达一些点,那么我们把每个点拆点...转载 2018-07-13 10:52:15 · 169 阅读 · 0 评论 -
bzoj4033: [HAOI2015]树上染色
题目 题解Solution树形DP。 首先不难想到设fi,jfi,jf_{i,j}为以编号为i的节点为根的子树中有j个黑色节点对答案的贡献。 这里发现不好转移,所以把该子树内的点与子树外的点组合所产生的权值也计算进去。考虑统计所有边权对答案的贡献,一条边对答案产生的贡献为边权∗(子树内黑色点数量∗子树外黑色点数量+子树内白色点数量∗子树外白色点数量)。 用dfsdfsdf...转载 2018-07-13 15:46:52 · 133 阅读 · 0 评论 -
Codeforces1118F2. Tree Cutting (Hard Version)
题目Solution显而易见的是,两个同色点的lcalcalca一定和这两个点划分在一棵树内,若lcalcalca已经染色且颜色与这两点不同,那么答案很明显是000然后设计dpdpdp方程f[u][0/1]f[u][0/1]f[u][0/1]表示uuu的子树内(没有/有)有颜色的点的划分方案数假设uuu必须染成col[u]col[u]col[u](什么颜色都可以就是000)uuu的子树...原创 2019-02-22 11:40:19 · 282 阅读 · 0 评论 -
2019年绍兴文理学院元培学院ACM试题总结
文章目录1.[岁月神偷](http://acm.usx.edu.cn/aspnet/Question.aspx?qid=1649)2.[字母移动游戏](http://acm.usx.edu.cn/aspnet/Question.aspx?qid=1653)3.[黑孔雀和小太阳](http://acm.usx.edu.cn/aspnet/Question.aspx?qid=1655)4.[埃及分数]...原创 2019-03-17 23:31:13 · 1478 阅读 · 0 评论