给定一棵树,边上有权值,要统计有多少对点路径的权值和 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #in...
分类:
其他好文 时间:
2015-08-28 15:08:29
阅读次数:
804
一棵树,边长都是1,问这棵树有多少点对的距离刚好为k令tree(i)表示以i为根的子树dp[i][j][1]:在tree(i)中,经过节点i,长度为j,其中一个端点为i的路径的个数dp[i][j][0]:在tree(i)中,经过节点i,长度为j,端点不在i的路径的个数则目标:∑(dp[i][k][0...
分类:
其他好文 时间:
2015-08-27 21:03:47
阅读次数:
214
给出一棵树,边有权值,求出离每一个节点最远的点的距离树形DP,经典题本来这道题是无根树,可以随意选择root,但是根据输入数据的方式,选择root=1明显可以方便很多。我们先把边权转化为点权,放在数组cost中令tree(i)表示以节点i为根的子树对于节点i,离该节点最远的点要不就是在tree(i)...
分类:
其他好文 时间:
2015-08-20 06:42:28
阅读次数:
141
这里要引入两个概念:1.树边:是一条未被遍历过的边,它指向一个未被访问过的点。2.反向边:是一条未被遍历过的边,它指向一个被访问过的点。如果图中有环路的存在,那么环路的最后一个边必然是一条反向边。参考:http://daoluan.net/blog/map-ring/那么,我们在DFS遍历的过程当中...
分类:
其他好文 时间:
2015-08-19 19:59:57
阅读次数:
289
题目大意:给出一棵N个结点的无根树,现在要在上面加上M条边,问,有多少种破坏方式(破坏一条树边,一条新边),能使这张新图变成至少两部分解题思路:首先,假设添加的边为(u,v),那么u – > lca(u,v) –> v – >u就形成了一个环了,也就是说,每条添加的边都会在树上形成一个环本来树上的每条边都是一条桥的,由于加了新的边了,形成了连通分量了,使得边的性质发生了些变化首先,树边在0个连通分量...
分类:
Web程序 时间:
2015-08-18 01:15:55
阅读次数:
130
如果一条边可行,那么删掉这条边后,剩下的图是二分图且该边的两端点颜色相同。那么可行的边必然属于所有奇环的交集,且不属于任何偶环。随便取一棵生成树,对于一条非树边,它形成了环:若是偶环,则将环上的边都标记为不能选。若是奇环,则将环上的边经过的奇环数都加一。可以用树链剖分维护前缀和做到$O(m\log ...
分类:
其他好文 时间:
2015-08-17 23:19:11
阅读次数:
134
Network
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 4251
Accepted: 1223
Description
Yixght is a manager of the company called SzqNetwork(SN). Now she's...
分类:
Web程序 时间:
2015-08-15 20:05:32
阅读次数:
127
题意就是至少加几条边,能够让原图没有桥。1. 首先要找出图G的所有【边双连通分量】。2、 把每一个【边双连通分量】都看做一个点(即【缩点】)3、 问题再次被转化为“至少在缩点树上增加多少条树边,使得这棵树变为一个双连通图”。首先知道一条等式:若要使得任意一棵树,在增加若干条边后,变成一个双连通图,那...
分类:
其他好文 时间:
2015-08-11 23:04:26
阅读次数:
76
通道题意:给n个点,现在要使这n个点连通,并且要求代价最小。现在有2个点之间不能直接连通(除了第一个点),求最小代价思路:先求mst,然后枚举边,对于生成树上的边替换,用树形dp O(N^2)求出每条生成树边的最小替代边。然后替换后的最大值代码:#include #include #include ...
分类:
其他好文 时间:
2015-08-11 06:52:25
阅读次数:
148
通道题意:给一个树,边有颜色,点有权值。满足路径上没有两个相邻边同色的路径是好的路径,求好的路径的(路径上的点的权值和)的总和思路:边权排序,从任意一点开始深搜,每颗子树搜索完毕之后向上返回pair每次深搜完一个子节点之后,增加的过这一点的gorgeous边的总分数为: 之前深搜的所有子节点向上返回...
分类:
其他好文 时间:
2015-08-10 17:37:09
阅读次数:
103