首页 > TAG信息列表 > POJ3417

树上差分(poj3417)

传送门 对题意的转化其实挺巧妙的。 可以看出来是在树上再加“附加边”,加了附加边的即形成环。形成环的定要删除一条主要边和一条附加边才能分为两部分。 如添加了附加边(x,y),相当于x到y的所有“主要边”被覆盖一次。 若第一步把被覆盖0次的主要边切断,第二步可任意切断一条附加边。

暗的连锁 POJ3417

树上边的差分,给每个点赋值为0,对于非树边(x,y)x,y权值+1,lca(x,y)-=2,再dfs #include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#define MN 200050using namespace std;int n,m,cnt,head[MN],ans[MN],dfn[MN],num[MN];int f[MN][21];int lg[MN];stru

【POJ3417】Network

关于lca和树上差分的题目。 根据题目描述,主要边是一棵树,附加边会和主要边构成一个环,如果我们第一步切断了一条主要边,我们下一步就必须切断一条附加边才能符合题意。 所以,我们可以认为一条附加边(x,y)把树上x,y之间的路径覆盖了一遍,我们需要统计每条主要边被覆盖多少次即可。具体地,