本来以为这题能用并查集做的,但一想不对例如A-> B,A->C如果用并查集的话B与C就不能连了,但实际B可以是C的徒弟,所以这题是考拓扑排序。#include#includeint d[105],map[105][105],vis[105];int main(){ int i,j,k,f,n,...
                            
                            
                                分类:
其他好文   时间:
2014-07-07 18:32:26   
                                阅读次数:
176
                             
                         
                    
                        
                            
                            
                                http://acm.hdu.edu.cn/showproblem.php?pid=1285拓扑排序:次序问题AOV网:用顶点表示活动,弧表示活动间的优先关系的有向图,AOV网中不应该出现有向环:如果存在环,则某项活动以自己为先决条件。 1 #include 2 #include 3 #incl.....
                            
                            
                                分类:
其他好文   时间:
2014-07-07 18:10:25   
                                阅读次数:
178
                             
                         
                    
                        
                            
                            
                                http://acm.hdu.edu.cn/showproblem.php?pid=2094 1 #include 2 #include 3 #include 4 int n; 5 int map[2001][2001],d[2001],v[2001]; 6 char name[2001][1...
                            
                            
                                分类:
其他好文   时间:
2014-07-07 17:32:37   
                                阅读次数:
313
                             
                         
                    
                        
                            
                            
                                该算法的基本思想就是按照拓扑排序的顺序依次将每个顶点加入到最短路径树中,每次加入时将该顶点延伸出的所有顶点进行“放松”操作。这种算法的复杂度是E+V。
代码
这种算法的代码比Dijkstra还要简单,代码如下:
public class TopologySP extends SP {
    public TopologySP(EdgeWeightedDigr...
                            
                            
                                分类:
其他好文   时间:
2014-06-27 10:17:22   
                                阅读次数:
247
                             
                         
                    
                        
                            
                            
                                从起点开始,按照拓扑排序的顺序依次更新dp[i],表示到该点能获得的最大值
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define inf 0x3f3f3f3f
#define ll __int64
#define mod 1000000007
us...
                            
                            
                                分类:
其他好文   时间:
2014-06-27 08:56:59   
                                阅读次数:
275
                             
                         
                    
                        
                            
                            
                                题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3231题意:有n个长方体,四种限制条件。(1)I x y x和y有相交;(2)X/Y/Z x y x的最大X/Y/Z坐标小于y的最大X/Y/Z。构造出这样的n个长方体。思路:首先,XYZ三个方向是可以分开...
                            
                            
                                分类:
其他好文   时间:
2014-06-23 06:24:24   
                                阅读次数:
168
                             
                         
                    
                        
                            
                            
                                在一个软件工程项目中,有些任务需要在另外一个任务完成之后才能完成,这种任务在软件工程中是非常常见的。下图就展示了一个软件项目的依赖情况。
这张图非常明显,就是一张有向图。那么,现在问题就来了,如何输出任务的完成顺序呢?
这个问题有一个前提条件,就是有向图中不能出现回路。
算法的基本思想就是在每次dfs返回时将顶点加入到返回结...
                            
                            
                                分类:
其他好文   时间:
2014-06-22 20:03:38   
                                阅读次数:
221
                             
                         
                    
                        
                            
                            
                                图的C语言源代码实现
1、图的定义
图:是一种灵活的数据结构,一般作为一种模型用来定义对象之间的关系或者联系。对象由顶点表示,而对象之间的关系或关联则通过顶点之间的边来表示。
2、图的应用
图算法、统计网络跳数、拓扑排序、图着色、哈密顿圈问题、分团问题、可序列化冲突
3、图的代码实现...
                            
                            
                                分类:
其他好文   时间:
2014-06-22 17:56:53   
                                阅读次数:
158
                             
                         
                    
                        
                            
                            
                                这题应该分两步来做:1、拓扑排序,去掉无敌点2、求最大闭合子图需要注意几点:1、拓扑排序时,如果(i,j)可以攻击到(x,y),那么增加(x,y)的入度,而不是(i,j)的入度 因为入度代表着要攻击它需要事先攻击几个点2、求最大闭合子图时,用所有的正权点-最大流3、求最大闭合子图时,如果(i,j)....
                            
                            
                                分类:
其他好文   时间:
2014-06-15 13:16:13   
                                阅读次数:
183
                             
                         
                    
                        
                            
                            
                                做法:如果有ab的有向边,连好所有边后,找入度为0的点作为起点,将其赋为最小的价值888,然后其所有能到的端点,价值加1,加入队列,删去上一个点,然后循环往复,直到队列为空,即每个点都赋予了一个权值为止。代码:#include #include #include #include #include ...
                            
                            
                                分类:
其他好文   时间:
2014-06-15 11:35:59   
                                阅读次数:
258