图论
享受编程.
这个作者很懒,什么都没留下…
展开
-
NYOJ 188 Arbitrage map 建图 汇率转换
原题链接题目大意 :套利是利用货币汇率的差异,将一个货币单位转换成同一货币的一个以上的单位。例如,假设1美元买0.5英镑,1英镑买10法郎,而1法国法郎购买0.21美元。然后,通过转换货币,一个聪明的交易者可以从1美元和购买0.5 * 10 * 0.21 = 1.05美元,使利润为百分之5美元。你的工作是写一个程序,以货币汇率的列表作为输入,然后确定是否套利是可能的。用ma原创 2017-04-28 18:52:03 · 421 阅读 · 0 评论 -
NYOJ 1239 引水工程
引水工程时间限制:2000 ms | 内存限制:65535 KB难度:3描述 南水北调工程是优化水资源配置、促进区域协调发展的基础性工程,是新中国成立以来投资额最大、涉及面最广的战略性工程,事关中华民族长远发展。“南水北调工程”,旨在缓解中国华北和西北地区水资源短缺的国家战略性工程。就是把中国长江流域丰盈的水资源抽调一部分送到华北和西北地区。我国南涝北旱,南水北调工程通过跨原创 2017-04-17 10:25:03 · 236 阅读 · 0 评论 -
NYOJ 434 && poj 1251 最小生成树 Kruskal
题目大意在相通n个岛屿的所有桥都坏了,要重修,重修每一个桥所用的时间不同,求重修使每个岛屿都间接或直接与其他岛屿相同时所用的的最短时间(只有修完一个桥后才可修下一个桥)。简言之就是求最小生成树。对于数据,数据输入的第一行n代表岛屿的个数,当为0是结束程序,接着n-1行开始时为这岛屿的编号,用大写字母表示,接着是一个整数m,表示与该岛屿连接的字典序大于该岛屿编号的个数,然后该行输入m对数原创 2017-04-29 16:27:05 · 319 阅读 · 0 评论 -
NYOJ 38 布线问题 prim && Kruskral 模板题
1.prim算法1.将第一个点放入最小生成树的集合中(标记visit[i]=1意思就是最小生成树集合)。2.从第二个点开始,初始化lowcost[i]为跟1点相连(仅仅相连)的边的权值(lowcost[i]不是这个点的最小权值!在以后会逐步更新)。3.找最小权值的边。从第二点开始遍历,如果不是最小生成树的集合的点,则找出从2到n的最小权值(lowcost[j])。4.将找出原创 2017-04-14 21:12:11 · 239 阅读 · 0 评论 -
HDU 2112 Today Dijkstra
map确实是个强大的东西。。HDU TodayTime Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 28595 Accepted Submission(s): 6931Problem Description 经过锦囊相原创 2017-04-21 20:07:47 · 182 阅读 · 0 评论 -
SPFA详解
SPFA 算法详解( 强大图解,不会都难!)作者同类文章X适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了。 我们约定有向加权图G不存在负权回路,即最短路径一定存在。当然,我们可以在执行该算法前做一次拓扑排序,以判断是否存在负权回路,但这不是我们讨原创 2017-04-19 16:33:22 · 1323 阅读 · 0 评论 -
NYOJ 1248 海岛争霸 河南省赛真题 Floyd 或者 并查集
海岛争霸时间限制:1000 ms | 内存限制:65535 KB难度:3描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等。加勒比海盗,你知道吧?杰克船长驾驶着自己的的战船黑珍珠1号要征服各个海岛的海盜,最后成为海盗王。 这是一个由海洋、岛屿和海盗组成的危险世界。杰克船长准备从自己所占领的岛屿A开始征程,逐个去占领每一个岛屿。面对危险重重的海洋与诡原创 2017-04-24 20:52:54 · 241 阅读 · 0 评论 -
次小生成树模板 poj 1679
最小生成树和次小生成树定义:生成树:图G的生成树包含原图中的全部顶点n,和n-1条边.最小生成树就是所有生成树中边权和最小的.2 那么如何求最小生成树呢?介绍两种基于贪心的算法:1.prim算法 设图G =(V,E),其生成树的顶点集合为U。 ①、把v0放入U。 ②、在所有u∈U,v∈V-U的边(u,v)∈E中找一条最小权值的边,加入生成树。原创 2017-04-26 14:49:28 · 292 阅读 · 0 评论 -
HDU 2544 最短路 模板题 SPFA Dijkstra
最短路Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 62803 Accepted Submission(s): 27487Problem Description在每年的校赛里,所有进入决赛的同学都会获得一件很原创 2017-04-17 20:25:30 · 274 阅读 · 0 评论 -
poj 3255 次短路问题 Dijkstra 邻接表
Roadblocks----------Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 14328 Accepted: 5037DescriptionBessie has moved to a small farm and sometimes enjoys returning to visit one of h原创 2017-04-27 14:58:14 · 340 阅读 · 0 评论 -
NYOJ 247 虚拟的城市之旅 SPFA
虚拟的城市之旅时间限制:3000 ms | 内存限制:65535 KB难度:6描述 展馆是未来城市的缩影,个人体验和互动是不变的主题。在A国展馆通过多维模式和高科技手段,引领参观者在展示空间踏上一段虚拟的城市之旅。梦幻国有N个城市和M条道路,每条道路连接某两个城市。任意两个城市之间最多只有一条道路直接相连。这M条道路中有一部分为单向通行的道路,一部分为双向通行的原创 2017-04-27 16:24:41 · 290 阅读 · 0 评论 -
NYOJ 99 单词拼接 欧拉回路
单词拼接时间限制:3000 ms | 内存限制:65535 KB难度:5描述给你一些单词,请你判断能否把它们首尾串起来串成一串。前一个单词的结尾应该与下一个单词的道字母相同。如alohadogarachnidgophertigerrat 可以拼接成:aloha.arachni原创 2017-04-27 16:46:56 · 438 阅读 · 0 评论 -
NYOJ 120 校园网络
校园网络时间限制:3000 ms | 内存限制:65535 KB难度:5描述南阳理工学院共有M个系,分别编号1~M,其中各个系之间达成有一定的协议,如果某系有新软件可用时,该系将允许一些其它的系复制并使用该软件。但该允许关系是单向的,即:A系允许B系使用A的软件时,B未必一定允许A使用B的软件。现在,请你写一个程序,根据各个系之间达成的协议情况,原创 2017-04-27 17:00:34 · 233 阅读 · 0 评论 -
NYOJ 127 cayley定理
cayley定理定理的理解此定理说明用n-1条边将n个一致的顶点连接起来的连通图的个数为n^(n-2),也可以这样理解,将n个城市连接起来的树状公路网络有n^(n-2)种方案。所谓树状,指的是用n-1条边将n个顶点构成一个连通图。当然,建造一个树状的公路网络将n个城市连接起来,应求其中长度最短、造价最省的一种,或效益最大的一种。Cayley定理只是说明可能方案的数目。#include原创 2017-04-27 17:06:20 · 347 阅读 · 0 评论 -
NYOJ 973 天下第一 判断有没有环存在
天下第一时间限制:1000 ms | 内存限制:65535 KB难度:3描述AC_Grazy一直对江湖羡慕不已,向往着大碗吃肉大碗喝酒的豪情,但是“人在江湖漂,怎能不挨刀",”人在江湖身不由己",如果自己的武功太差,在江湖会死的很惨,但是AC_Grazy没有武功秘籍练不了绝世武功.有道是“山重水复疑无路,柳暗花明又一村”,在AC_Grazy家原创 2017-04-27 21:26:25 · 347 阅读 · 0 评论 -
poj 2485 prim入门题目
复习一下prim算法#include #include #include #include using namespace std;const int INF = 0x3f3f3f3f;const int maxd = 502;int map[maxd][maxd];bool vis[maxd];int low[maxd];int N;void prim(){ in原创 2017-04-15 09:37:47 · 260 阅读 · 0 评论 -
NYOJ 502 筹建工程
筹建工程时间限制:1000 ms | 内存限制:65535 KB难度:3描述省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本(道路是双向的)。现请你编写程序,计算出全省畅通需要的最低成本。输入测试输入包含若干测试用例。第原创 2017-04-15 17:01:44 · 266 阅读 · 0 评论 -
最短路 dijsktra + floyd 详解
原文链接最短路径—Dijkstra算法和Floyd算法 注意:以下代码 只是描述思路,没有测试过!! Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都转载 2017-04-19 08:21:29 · 1508 阅读 · 1 评论 -
NYOJ 210 Fire Station
原题链接题意:有f个消防站已经建在十字路口,n个十字路口,每个路口附近都有居民居住,有些居民抗议他离最近的消防站太远了,所以现在需要再建一个消防站,使得所有居民最近消防站最远的距离最近(有点拗口)。题解:由于f已有的消防站到居民的距离中最小的时候只需要更新一次,这样其实可以减少很多计算量,而且在这里用spfa比较好,用Dijkstra时不要用优先队列,因为使用优先队列时不一定是原创 2017-04-28 19:15:56 · 254 阅读 · 0 评论 -
NYOJ 211 闭包的传递 Floyd
原题链接题意:有N头牛,每个牛有一个唯一且不同的能力等级值.然后他们中的两头牛进行M场比赛,并给你这M场的比赛结果.现在的问题是问你有多少头牛可以确定自己的排名了? 如果对于a胜b且b胜c,那么肯定a胜c. 且如果已经知道了a胜的牛数目+比a厉害的牛数目正好==N-1,那么a的排名也肯定可以推出来.思路:表示数据纠结中~~,突然看懂之后,然后想到:能打败的个数 加上被打败的个数恰好原创 2017-04-28 19:37:29 · 248 阅读 · 0 评论 -
NYOJ 227 && poj1556 判断直线相交
总共4*n+1个点个点。根据线段交去判断会不会冲突,可以直接连的就建立一条路径。 然后求最短路。因为点很小,所以无论哪种最短路算法都可使用。#include #include #include #include #include #include #include #include #include #include using namespace s原创 2017-04-28 19:47:08 · 271 阅读 · 0 评论 -
NYOJ 237 NYOJ 239 二分图 最大匹配模板题 游戏高手的烦恼 月老的难题 两个题一样
原题链接匈牙利算法#include#includeusing namespace std;#define N 10010#define M 510int head[M], next[N], key[N], num;int match[M];bool use[M];void add(int u, int v) //hash表存图{ key[num] = v; ne原创 2017-04-29 09:09:06 · 362 阅读 · 0 评论 -
二分图 匈牙利算法详解
二分图的最大匹配、完美匹配和匈牙利算法这篇文章讲无权二分图(unweighted bipartite graph)的最大匹配(maximum matching)和完美匹配(perfect matching),以及用于求解匹配的匈牙利算法(Hungarian Algorithm);不讲带权二分图的最佳匹配。二分图:简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是原创 2017-04-29 09:21:34 · 683 阅读 · 0 评论 -
NYOJ 284 优先队列 搜索
题意:图中Y代表起点,T代表终点,S代表铁墙,不可被击毁也不可被通过,B代表木墙,可以被击毁,击毁后可以通过,R代表河流,不可击毁也不可通过,E代表可通过。 击毁木墙会消耗一步,问最少多少步能从起点走到终点。 #include#include#include#include#includeusing namespace std;//优先队列广搜const int maxn=原创 2017-04-29 10:17:45 · 277 阅读 · 0 评论 -
NYOJ 323 Drainage Ditches 最大流 Dinic 算法模板
Dinic#include#include#include#includeusing namespace std;const int VM=220;const int INF=0x3f3f3f3f;int n,m,src,des;int map[VM][VM],dep[VM]; //dep[i]表示当前点到起点src的层数int BFS(){ // 重原创 2017-04-29 10:31:09 · 217 阅读 · 0 评论 -
poj 3281 && NYOJ 326 Dining 最大流问题 EK
#include #include #include #include #include #define MAXN 400+10//食物从2*n+1开始 到 2*n+f 饮料从2*n+f+1 开始 到2*n+1+f+d #define MAXM 200000+100#define INF 200000+10using namespace std;struct Edge{ in原创 2017-04-29 10:56:44 · 238 阅读 · 0 评论 -
poj 1094 && NYOJ 349 Sorting It All Out 拓扑排序 经典
题题意明确,就是给定一组字母的大小关系判断他们是否能组成唯一的拓扑序列。是典型的拓扑排序,但输出格式上确有三种形式: 1.该字母序列有序,并依次输出; 2.该序列不能判断是否有序; 3.该序列字母次序之间有矛盾,即有环存在。 而这三种形式的判断是有顺序的:先判断是否有环(3),再判断是否有序(1),最后才能判断是否能得出结果(2)。注意:对于(2)必须遍历完整个原创 2017-04-29 11:06:49 · 298 阅读 · 0 评论 -
NYOJ 426 && poj 1125 最短路 DFS 判断联通 SPFA
首先,题目可能有多组测试数据,每个测试数据的第一行为经纪人数量N(当N=0时,输入数据结束),然后接下来N行描述第i(1<=i<=N)个经纪人与其他经纪人的关系(教你如何画图)。每行开头数字M为该行对应的经纪人有多少个经纪人朋友(该节点的出度,可以为0),然后紧接着M对整数,每对整数表示成a,b,则表明该经纪人向第a个经纪人传递信息需要b单位时间(即第i号结点到第a号结点的孤长为b)原创 2017-04-29 16:05:22 · 288 阅读 · 0 评论 -
HDU 3790 最短路 Dijkstra
最短路径问题Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 25824 Accepted Submission(s): 7700Problem Description 给你n个点,m条无向边,每条边都有长度d和花费p,原创 2017-04-20 20:41:31 · 195 阅读 · 0 评论 -
HDU 2066 最短路
一个人的旅行Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 36702 Accepted Submission(s): 12504Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会原创 2017-04-20 16:42:08 · 233 阅读 · 0 评论 -
NYOJ 489 最大流 Dinic 算法
#include#include#includeusing namespace std;int map[700][700],len[700],pos[700]; #define min(x,y)(x<y?x:y)bool bfs(int s,int t) //分层 { int i; memset(len,-1,sizeof(len)原创 2017-04-29 21:06:04 · 261 阅读 · 0 评论 -
NYOJ 1274 信道安全 裸的最短路 spfa 邻接表 第九届省赛C
该比赛了,做一下去年的题#include #include #include #include #include using namespace std;const int INF = 0x3f3f3f;const int Max = 50005;struct Node{ int v,next; double w;}edge[Max<<1];int head[M原创 2017-04-30 13:20:22 · 361 阅读 · 0 评论 -
NYOJ 203 三国志 最短路 + 贪心 01 背包 的思想
三国志时间限制:3000 ms | 内存限制:65535 KB难度:5描述《三国志》是一款很经典的经营策略类游戏。我们的小白同学是这款游戏的忠实玩家。现在他把游戏简化一下,地图上只有他一方势力,现在他只有一个城池,而他周边有一些无人占的空城,但是这些空城中有很多不同数量的同种财宝。我们的小白同学虎视眈眈的看着这些城池中的财宝。按照游戏的规则,他只要指派一名武将攻占这原创 2017-04-27 21:36:32 · 344 阅读 · 0 评论