dfs
swust_lian
无武
展开
-
Codeforces Round #364 (Div. 2)E.Connecting Universities
题意:一棵树有n个点,边长都为1,在这n个点中有2*k个大学,这些大学不重复。现在要给这些大学两两牵网线,问需要网线的最大长度。 分析:考虑每条边对答案的贡献,每条边对答案的贡献就是他的子树上学校的点的数目和剩下的学校的数目的较小值。 具体做法就是,一次dfs,记录下此点的子节点中有多少个学校(包括它自身),那么与它父亲节点相连的边的贡献为min(cnt[id],2*k-cnt[id])(cn...原创 2016-07-23 20:01:06 · 301 阅读 · 0 评论 -
HDU 5723 Abandoned country (多校1)
题意:先求最小生成树,然后问你在这个最小生成树中任选两个点,问这两个点之间距离的期望。 期望:2*(任意两点之间的距离和)/(n*(n-1)) 分析:现在关键是求任意两点之间的距离和。我们可以考虑,最小生成树的每一条边对其的贡献,即:u->v v的子节点为cnt个(包括它),那么u即u之上的点数为n-cnt。那么根据排列组合,这条边会用到cnt*(n-cnt)次。 dfs一次就可以了。原创 2016-07-23 20:14:33 · 281 阅读 · 0 评论