随笔分类 -  数据结构—图论

摘要:tarjan算法讲解。 tarjan算法讲解。 tarjan算法,一个关于 图的联通性的神奇算法。基于DFS算法,深度优先搜索一张有向图。!注意!是有向图。根据树,堆栈,打标记等种种神奇方法来完成剖析一个图的工作。而图的联通性,就是任督二脉通不通。。的问题。 了解tarjan算法之前你需要知道: 强 阅读全文
posted @ 2017-04-11 19:01 自为风月马前卒 阅读(1161) 评论(1) 推荐(2)
摘要:题目描述 Description • 在FJOI2010夏令营快要结束的时候,很多营员提出来要把整个夏令营期间的资料刻录成一张光盘给大家,以便大家回去后继续学习。组委会觉得这个主意不错!可是组委会一时没有足够的空光盘,没法保证每个人都能拿到刻录上资料的光盘,怎么办呢?! • DYJ分析了一下所有营员 阅读全文
posted @ 2017-04-11 17:50 自为风月马前卒 阅读(490) 评论(1) 推荐(1)
摘要:1722 最优乘车 1997年NOI全国竞赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题解 1722 最优乘车 1997年NOI全国竞赛 1722 最优乘车 1997年NOI全国竞赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 阅读全文
posted @ 2017-04-10 21:41 自为风月马前卒 阅读(262) 评论(0) 推荐(0)
摘要:题目描述 Description •战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系。信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位)。指挥部设在第一个哨所。当指挥部下达一个命令后,指挥部就派出若干个信使向与指挥部相连的哨所送信。当一个哨所接到信后,这个哨所 阅读全文
posted @ 2017-04-10 19:54 自为风月马前卒 阅读(671) 评论(4) 推荐(1)
摘要:题目描述 Description 农民John的农场里有很多牧区。有的路径连接一些特定的牧区。一片所有连通的牧区称为一个牧场。但是就目前而言,你能看到至少有两个牧区通过任何路径都不连通。这样,农民John就有多个牧场了。 John想在农场里添加一条路径(注意,恰好一条)。对这条路径有以下限制: 一个 阅读全文
posted @ 2017-04-10 19:08 自为风月马前卒 阅读(268) 评论(0) 推荐(0)
摘要:题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖。把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油。当然,他将付出额外的费用在奶牛上。 农夫John很狡猾。像以前的Pavlov,他知道他可以训练这些奶牛,让它们在听到铃声时去一个特定的 阅读全文
posted @ 2017-04-10 16:42 自为风月马前卒 阅读(379) 评论(0) 推荐(0)
摘要:1077 多源最短路 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 1077 多源最短路 1077 多源最短路 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 时间限制: 1 s 空间限制: 128000 KB 阅读全文
posted @ 2017-04-09 21:22 自为风月马前卒 阅读(246) 评论(0) 推荐(2)
摘要:题目背景 题目描述 在n个人中,某些人的银行账号之间可以互相转账。这些人之间转账的手续费各不相同。给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元。 输入输出格式 输入格式: 第一行输入两个正整数n,m,分别表示总人数和可以互相转账的人的对数。 阅读全文
posted @ 2017-04-09 21:10 自为风月马前卒 阅读(452) 评论(0) 推荐(0)
摘要:题目描述 Description 平面上有n个点(n<=100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。现在的任务是找出从一点到另一点之间的最短路径。 题目描述 Descriptio 阅读全文
posted @ 2017-04-09 19:45 自为风月马前卒 阅读(293) 评论(0) 推荐(0)
摘要:题目描述 Description 平面上有n个点(n<=100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。现在的任务是找出从一点到另一点之间的最短路径。 题目描述 Descriptio 阅读全文
posted @ 2017-04-09 18:00 自为风月马前卒 阅读(366) 评论(0) 推荐(1)
摘要:题目描述 Description Farmer John每年有很多栅栏要修理。他总是骑着马穿过每一个栅栏并修复它破损的地方。 John是一个与其他农民一样懒的人。他讨厌骑马,因此从来不两次经过一个栅栏。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。Joh 阅读全文
posted @ 2017-04-08 21:11 自为风月马前卒 阅读(278) 评论(1) 推荐(1)
摘要:哈密尔顿环 欧拉回路是指不重复地走过所有路径的回路,而哈密尔顿环是指不重复地走过所有的点,并且最后还能回到起点的回路。 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 int num[10001];//求一个点能过到达 阅读全文
posted @ 2017-04-08 20:36 自为风月马前卒 阅读(516) 评论(0) 推荐(3)
摘要:l样例输入:第一行n,m,有n个点,m条边,以下m行描述每条边连接的两点。 l 5 5 l 1 2 l 2 3 l 3 4 l 4 5 l 5 1 l样例输出:欧拉路或欧拉回路 l 1 5 4 3 2 1 1 #include<iostream> 2 #include<cstdio> 3 using 阅读全文
posted @ 2017-04-08 20:06 自为风月马前卒 阅读(240) 评论(0) 推荐(0)
摘要:bfs dfs 阅读全文
posted @ 2017-04-08 18:02 自为风月马前卒 阅读(303) 评论(0) 推荐(1)
摘要:l邻接表的处理方法是这样: l图中顶点用一个一维数组存储,当然,顶点也可以用单链表来存储,不过数组可以较容易地读取顶点信息,更加方便。 l图中每个顶点Vi的所有邻接点构成一个线性表,由于邻接点的个数不确定,所以我们选择用单链表来存储。 1 #include<iostream> 2 using nam 阅读全文
posted @ 2017-04-08 16:48 自为风月马前卒 阅读(356) 评论(0) 推荐(1)

Contact with me