摘要: http://poj.org/problem?id=2594题意:N个点组成的有向无环图,每个点可以重复到达,问至少派几个机器人可以走完所有的点,点可以重复到达,还以为跟1422一模一样呢,还奇怪了,弄两个一样的题,非也。poj 1422的每个点只能走一次,所以用最小路径覆盖,这个题,每个点可以重复走,用floyd传递闭包,好吧,传递闭包代码好像简单,但是原理还要学的代码:#include<iostream>#include<cstdio>#include<string>#include<cstring>using namespace std;i 阅读全文
posted @ 2012-02-21 23:19 快乐. 阅读(166) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1422题意:有n个点构成的有向无环图,有的两点之间有单向连线,有些点是孤立的,问至少几个人可以把所有的点走一遍。 本来还想用dfs,那可以从一点出发,走所有能到达的点。。。但是从那个点开始dfs呢,dfs还是不行滴。 构图!今天做的几个最小覆盖和最小路径覆盖都是构图问题。有空再看看这两个概念,好好弄一下构图。。。 构图 ,题意为求用最少的路径覆盖所有的点 一个有向无环图,用最少的士兵遍历图中的点,每个士兵只能沿一条路走。每个点只需要一个士兵访问,多个士兵访问毫无意义。 引用: 由于每个点只能属于一条路径,如果不是孤... 阅读全文
posted @ 2012-02-21 03:17 快乐. 阅读(222) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1325题目一点都不友好,真没看懂题意,于是乎,以为求最多有多少任务可以完成呢,每个任务向A和B的模型连线。。。题意理解错了,结果肯定对不啊最后发现就算真的理解了题意,也不会构图,这题算法很一般,反正构图打死我也想不出来,图论难就难在构图上,可能就是这样吧。题意:机器A有n个模式(编号0~n-1),机器B有m个模式 , k项任务需要A的x模式完成或者B的y模式完成,但是A和B每转换一次模式都要重新启动,问要完成这k项任务,至少要重新启动机器多少次?注意:开始时,A和B都在模式0上(不需要重新启动,在这WA了一次。。。)打死也想不出的构图,哪位 阅读全文
posted @ 2012-02-21 01:45 快乐. 阅读(214) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2446跟 poj 3020差不多以前做过一个最小路径覆盖的题,读完这个题就想到了最小路径覆盖。很多大神用的完全匹配,有一点值得学习,就是根据i+j的奇偶性,把点分成两个集合,这样也可以?!最小路径覆盖的代码(为什么我的运行时间那么长??):代码:#include<iostream>#include<cstdio>#include<cstring>using namespace std;int a[35][35],link[1500],map[1500][1500];bool vs[1500];int n, 阅读全文
posted @ 2012-02-21 00:02 快乐. 阅读(191) 评论(0) 推荐(0) 编辑