
图论
文章平均质量分 63
Jane-Young
这个作者很懒,什么都没留下…
展开
-
hdu 3478 Catch
题目大概意思是,有n个点,m条边。罪犯可以从a点到达b点的条件是a,b有边相连,那么如果每一次他都不停止运动,他有没有可能在一个时间点到达任意一个点。我们先bfs一遍,然后把他奇数时间能到达的点标记为1,偶数时间能到达的点标记为 0。这样标记之后,我们要做的是看能不能得到一个二部图。如果在同为标记为1或0的集合中存在两个点有边相连,那么就说明他不是一个二部图,也就是在某个奇数时间能到达该点原创 2014-03-12 16:11:58 · 552 阅读 · 0 评论 -
hdu 1865 畅通工程再续
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1875最小生成树,用Prim算法。源代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 const double INF=100000000.0;原创 2013-11-15 10:18:57 · 727 阅读 · 0 评论 -
hdu 2122 Ice_cream’s world III
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2122注意考虑只有一个城市的情况!!!还有题目有点问题,应该是接下来一共m行~~~赤果果的最小生成树,用Kruskal。源代码: 1 #include 2 #include 3 #include 4 using namespace std; 5 typedef st原创 2013-11-15 10:18:55 · 828 阅读 · 0 评论 -
poj 3660 Cow Contest
看了题解才知道,原来floyd不止是用来求最短路的......用floyd,如果i和j有关则a[i][j]=1,否则为-1;能得出一个点的绝对排名的充要条件是这个点和其他每个点都有关(直接或间接)。最后遍历每一个点,如果存在一个点和这个点没有关系,那么这个点就是一个无关点,最后用n-无关点个数就是答案。 1 #include 2 #include 3 #include原创 2013-11-15 10:19:18 · 750 阅读 · 0 评论 -
hdu 2647 Reward
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2647拓扑排序方法如下:(1)从有向图中选择一个没有前驱(即入度为0)的顶点并且输出它.(2)从网中删去该顶点,并且删去从该顶点发出的全部有向边.(3)重复上述两步,直到剩余的网中不再存在没有前趋的顶点为止.第一次做拓扑排序,有几点要说明一下:1.vector是一个容器,可以动态原创 2013-11-15 10:19:03 · 708 阅读 · 0 评论 -
poj 2485 Highways
题目:http://poj.org/problem?id=2485因为让你求最长边,所以首先想到的是Kruskal算法(他加入生成树的最后一条边是最大边),注意n个城市有n-1条边!!!源代码: 1 #include 2 #include 3 #include 4 using namespace std; 5 typedef struct 6 { 7原创 2013-11-15 10:18:50 · 676 阅读 · 0 评论 -
hdu 1827 Summer Holiday
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1827用tarjan算法,先对各个极大强连通图进行缩点同时记录缩点中话费最少的值,然后看每一个缩点的入度,如果入度为0,那么说明需要给这个缩点打电话。源代码: 1 #include 2 #include 3 #include 4 #include 5 #include原创 2013-11-15 10:19:11 · 740 阅读 · 0 评论 -
hdu 1811 Rank of Tetris
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1811这题的关键点就是对 “=” 的处理,这个要用到并查集。把是“=”关系的点放在统一集合内,处理其中每一个点时都当做处理根结点。数据不全的情况是同时出现两个点的入度为0,(当两个点具有“ = ”关系时,我们默认是一个点)。源代码: 1 #include 2 #include原创 2013-11-15 10:19:05 · 713 阅读 · 0 评论 -
POJ 1611 The Suspects
DescriptionSevere acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. To minimize transmission to others, the best s原创 2013-11-15 10:18:06 · 713 阅读 · 0 评论 -
poj1679 The Unique MST
判定最小生成树是否唯一,有一个简单的方法。用原创 2014-06-30 20:41:26 · 502 阅读 · 0 评论 -
hdu3367 Pseudoforest
这题本质上和kruskal差不多,唯一的差别是:原创 2014-07-02 17:58:32 · 595 阅读 · 0 评论 -
poj 3522 Slim Span
求一棵生成树,使它的最大边与最小边z原创 2014-07-03 20:34:32 · 558 阅读 · 0 评论 -
hdu 1150 Machine Schedule
题目大意是有A类机器和B类机器。某个产品生产可以用A类中的某一个h原创 2014-07-06 17:17:20 · 421 阅读 · 0 评论 -
POJ 1308 Is It A Tree?
DescriptionA tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edges between nodes satisfying the following proper原创 2013-11-15 10:18:08 · 786 阅读 · 0 评论 -
hdu 2680 Choose the best route
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2680一直在纠结时间相等时入队列的先后问题,突然发现自己二呀,路径相等的都会依次入队啊~~~好了,说正事,最短路问题,用Dijkstra,注意几个地方:1.这个问题可以倒过来想,从终点到这几个点中的最短距离。2.路是有向的,如果倒过来想问题,那么路的方向也要倒过来。eg: 输入1 2原创 2013-11-15 10:18:42 · 685 阅读 · 0 评论 -
uva 1494 Qin Shi Huang's National Road System
这题和求次小生成树的思路有点像。首先qiucuh原创 2014-07-19 17:04:36 · 605 阅读 · 0 评论 -
LA 4080 Warfare And Logistics
要删除一条边之后使得c最大。原创 2014-07-18 16:57:23 · 590 阅读 · 0 评论 -
uva 11478 Halum
差分约束,算法导论上有一节介绍的很详细。原创 2014-07-19 13:49:56 · 592 阅读 · 0 评论 -
uva 10917 Walk Through the Forest
d[i]表示从i点到家的距离,如果d[i] > d[j[且i,j之间存在路的话,那么就可以走i->j。最后问从起点到终点有几条不同的路径。首先用dijkstra求出每一点到终点的距离。然后建立新图,如果原创 2014-07-18 12:18:17 · 477 阅读 · 0 评论 -
hdu 3849 By Recognizing These Guys, We Find Social Networks Useful
模型就是在一个双连通分量重找桥。注意几点:1.重边的处理2.图不一定连同原创 2014-06-29 19:22:05 · 645 阅读 · 0 评论 -
uva 11090 Going in Cycle!!
lrj的思路用二分猜测mid原创 2014-07-18 18:46:15 · 554 阅读 · 0 评论 -
poj 2367 Genealogical tree
裸的拓扑排序~#include #include#include#includeusing namespace std;vectorint>a[105];int from[105],to[105],flag[105];//出度,入度,标记是否访问过int main(){ int n,temp; scanf("%d",&n); mems原创 2013-11-15 10:19:16 · 874 阅读 · 0 评论 -
hdu 3790 最短路径问题
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3790用Dijstra,考虑重边的情况。源代码: 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 typedef struct{ 7 int di,p;}road; 8原创 2013-11-15 10:18:44 · 718 阅读 · 0 评论 -
hdu 1869 六度分离
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1869最短路问题,没什么好说的,果断Floyd,直接上代码。源代码: 1 #include 2 #include 3 4 using namespace std; 5 const int INF=100000; 6 int d[105][105]; 7 int原创 2013-11-15 10:18:40 · 768 阅读 · 0 评论 -
hdu 1874 畅通工程续 - 最短路
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874这题用Floyd比较方便,一般结点数在300以下的都可以用Floyd.说一下需要注意的地方:1.题目的意思说每两个结点可能有多条路,所以输入两结点的距离的时候要考虑是不是比之前可能输入过的距离短。2.询问可能出现起点和终点是同一点的情况。源代码: 1 #include原创 2013-11-15 10:18:38 · 711 阅读 · 0 评论 -
POJ 1128 食物链
Description动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同类。 第二种说法是"2 X Y",表示X吃Y。 此人对N个动物,用上述两种说法,一原创 2013-11-15 10:18:04 · 779 阅读 · 0 评论 -
hdu 2094 产生冠军
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2094产生冠军的前提是有且只有一个人赢(貌似是废话)......源代码: 1 #include 2 #include 3 #include 4 using namespace std; 5 char temp1[30],temp2[30]; 6 char topo[原创 2013-11-15 10:19:01 · 1180 阅读 · 0 评论