摘要:
题目:给出一个图,从图中找出两条最短路,使得边不重复。分析:既然是最短路,那么,两条路径上的所有节点的入边(s,x)、出边(x,e)必定是最优的,即 dis[x] = dis[s]+edge_dis,dis[e] = dis[x]+edge_dis。 dis表示点x到节点1的最短路的距离。 所以建图时,先求一边最短路,根据最短路上的前驱(可能有多个)与该节点构成新图,对于新图求一遍最大流判断最大流是否大于等于2即可。 /*题目:给出一个图,从图中找出两条最短路,使得边不重复。分析:先求一遍最短路,最短路上的点可以构成一个新图,对于新图求一遍最大流,如果存在大于1的最大流,则有解。*/#... 阅读全文
posted @ 2013-08-26 13:39
yejinru
阅读(303)
评论(0)
推荐(0)
摘要:
208E - Blood Cousins题目:给出一棵树,问与节点v的第k个祖先相同的节点数有多少个。分析: 寻找节点v的第k个祖先,这不就是qtree2简化版吗,但是怎么统计该祖先拥有多少个深度为k的儿子? 我们可以对于深度为d的所有节点放到一个数组中,这时需要知道的是深度为d的数组中某个连续区间都属于该子树的长度。 某棵子树的信息?这时可以考虑一下dfs序列。。。 dfs序列把整棵子树放在同一个区间,不懂dfs序的可以做做这两题: BZOJ 1103 [POI2007]大都市meg,BZOJ 1782 [Usaco2010 Feb]slowdown 慢慢游。 于是,我们df... 阅读全文
posted @ 2013-08-26 11:33
yejinru
阅读(614)
评论(0)
推荐(0)

浙公网安备 33010602011771号