首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

中国邮递员有关问题CPP

2012-09-23 
中国邮递员问题CPP问题描述:Chinese poster-manproblem,简称CPP,给出一张连通图,问经过每条边至少一次且起

中国邮递员问题CPP


问题描述:Chinese poster-man  problem,简称CPP,给出一张连通图,问经过每条边至少一次且起点和终点相同,所需走的最小路程。

无向图CPP

1.考虑当所有点度数均为偶数时,该图是欧拉图,因此任意一条欧拉回路都是答案

2.当有两个点是奇度点的时候,只需找到这两点间的最短路径,将最短路径上的边计入到原图中,这是得到了一张欧拉图(poj 1237 The Postal Worker Rings Once)

3.当奇度点个数大于2时,需要使每个点的度数均变为偶数,即在2n个点之间连n条路,于是变为了无向图的最小匹配问题(KM算法时错误的,因为无法保证解的正确性,带花树开花算法是正确的),一般采用状压dp解决该问题。(poj 2404 Jogging Trails)

对于每个奇度点,用一个二进制位表示,1代表尚未匹配,0代表已经匹配,寻找当前状态下尚未匹配的两点匹配同时更新状态,然后利用记忆化搜索寻找最优解。

NPC的。


热点排行