树
ID_BePosit
如果今天不比昨天多做一点什么,那么明天还有什么意义。
展开
-
F - Warm up HDU - 缩点dp求树直径
F - Warm up HDU - 4612 定义: 一棵树的直径就是这棵树上存在的最长路径。 求法: 两次dfs或bfs。第一次任意选一个点进行dfs(bfs)找到离它最远的点,此点就是最长路的一个端点,再以此点进行dfs(bfs),找到离它最远的点,此点就是最长路的另一个端点,于是就找到了树的直径。 证明: 假设此树的最长路径是从s到t,我们选择的点为...原创 2018-10-14 21:59:40 · 351 阅读 · 2 评论 -
Accumulation Degree POJ - 3585 -树形DP
Accumulation Degree POJ - 3585 题意: 题意:找一个点使得,使得从这个点出发作为源点,发出的流量最大,输出这个最大的流量。 思路:把点1提为树根,从1出发 进行最大流量记录,在这个过程中把 边流量可以推到流向的点。 在进行换根dp, 转移方程为 : if(in[fa[u]]==1)g[u]+=flow[u]; ...原创 2018-12-20 09:49:11 · 355 阅读 · 0 评论 -
Minimum Diameter Tree-思维-贪心
Minimum Diameter Tree 题意:给一个总权值 S 给一个 无向图的树 ,把 S 分到树的边权上。随意分只要总和为S即可。 思路:把S平均分到 叶子节点上即可。 这样直径就是 S/叶子数 * 2 ,只有这样才能使最后直径最小 不能 更小了,一段减小肯定有另一段增加 ,导致直径发上变化,所以只能均分到叶子节点 #include<bits/stdc++....原创 2018-12-24 11:09:56 · 521 阅读 · 1 评论