poj2513解题报告

来源:互联网 发布:淘宝上靠谱的手机店 编辑:程序博客网 时间:2024/04/30 02:49

一道相当经典的题目,tire树+并查集+欧拉路。题意大概是:给定许多跟木棒,木棒两端都涂上颜色,求是否能将木棒首尾相接,连成一条直线,要求不同木棒相接的一边必须是相同颜色的。可以用图论中欧拉路的知识来解这道题,首先可以把木棒两端看成节点,把木棒看成边,这样的话,相同的颜色就是同一个节点,问题便转化为了,给定一个图,是否存在“一笔画”经过涂中每一点,以及经过每一边一次。这样就是求图中是否存在欧拉路了。

由图论知识可以知道,无向图存在欧拉路的充要条件为:①图是连通的;②所有节点的度为偶数,或者只有两个度为奇数的节点。

其中节点的度用颜色出现次数来统计,tire用来记录颜色,而并查集用来合并节点,判断图是否连通;

原创粉丝点击