![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
sdau20163940
努力学习,天天向上!
展开
-
Stockbroker Grapevine (弗洛伊德算法)
Stockbroker Grapevine Time Limit : 2000/1000ms (Java/Other) Memory Limit : 20000/10000K (Java/Other)Total Submission(s) : 28 Accepted Submission(s) : 16Problem DescriptionStockbrokers are原创 2017-08-07 20:01:28 · 466 阅读 · 0 评论 -
树形结构的3种搜索方式示例分享
树形结构在各项大赛中成为必备的知识之一,尤其是建立在树形结构基础上的搜索算法!代码:/**树的3种常见搜索方式1.二叉树方式(每一层只有0和1)2.满m叉树(每一层都有0 到m - 1)3.子集树,也称为全排列树*/#include #include #include #include #include using namespace std;const i原创 2017-08-05 15:05:09 · 3798 阅读 · 0 评论 -
完全二叉树和满二叉树区别
转自:http://www.cnblogs.com/mapc/articles/4842256.html二叉树分类很多,其中满二叉树和完全二叉树比较特殊,因为这两种二叉说效率很高,这里记录几条相关性质。 首先是满二叉树:从形象上来说满二叉树是一个绝对的三角形,也就是说它的最后一层全部是叶子节点,其余各层全部是非叶子节点,如果用数学公式表示那么其节点数n=2^k-1其中k表示深度,也转载 2017-08-05 17:10:55 · 5712 阅读 · 0 评论 -
Frogger(弗洛伊德变形)
Frogger Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 83 Accepted Submission(s) : 18Problem DescriptionFreddy Frog is sitting on a st原创 2017-08-07 10:40:25 · 326 阅读 · 0 评论 -
Bad Cowtractors(求最大生成树 Kruskal变形)
Bessie has been hired to build a cheap internet network among Farmer John's N (2 <= N <= 1,000) barns that are conveniently numbered 1..N. FJ has already done some surveying, and found M (1 <= M <= 20原创 2017-08-15 21:22:09 · 198 阅读 · 0 评论 -
Out of Hay(Kruska算法求最小生成树l)
The cows have run out of hay, a horrible event that must be remedied immediately. Bessie intends to visit the other farms to survey their hay situation. There are N (2 <= N <= 2,000) farms (numbered 1原创 2017-08-15 21:50:05 · 369 阅读 · 0 评论 -
Silver Cow Party (SPFA+最短路径)
Silver Cow PartyTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 24018 Accepted: 10933DescriptionOne cow from each of N farms (1 ≤ N ≤ 1000) convenient原创 2017-08-22 22:09:42 · 216 阅读 · 0 评论 -
Building Roads(prim 最小生成树)
Building RoadsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 11870 Accepted: 3377DescriptionFarmer John had just acquired several new farms! He wants t原创 2017-08-22 23:48:18 · 521 阅读 · 0 评论 -
并查集的优化
#include #include using namespace std;#define maxn 20001int father[maxn];int m,n,i,x,y,q;int find(int x){//寻找根节点编号并压缩路经,递归实现 if(father[x]!=x) father[x]=find(father[x]);//路径压缩,优化的核心原创 2017-12-13 20:39:26 · 244 阅读 · 0 评论 -
How Many Tables(并查集)
#include #include using namespace std;#define maxn 20001int father[maxn];int m,n,i,x,y,q;int ans;int find(int x){ if(father[x]!=x) father[x]=find(father[x]); return father[x];原创 2017-12-13 20:53:13 · 137 阅读 · 0 评论 -
无根树转化为有根数
输入n个节点的无根树的各条边,指定一个节点为根,将无根树转为有根树。伪代码:int fa[maxn]; //每个节点的父亲 vector G[maxn];int dfs(int f) //无根树化为有根树 { int i; for(i=0; i<G[f].size(); i++) { if(fa[f] != G[f原创 2018-01-03 22:23:45 · 833 阅读 · 0 评论 -
Agri-Net (最小生成树)
Agri-Net Time Limit : 2000/1000ms (Java/Other) Memory Limit : 20000/10000K (Java/Other)Total Submission(s) : 38 Accepted Submission(s) : 8Problem DescriptionFarmer John has been elected ma原创 2017-08-04 19:50:40 · 184 阅读 · 0 评论 -
Highways (最小生成树)
一、什么是图的最小生成树(MST)? 不知道大家还记不记得树的一个定理:N个点用N-1条边连接成一个连通块,形成的图形只可能是树,没有别的可能 一个有N个点的图,边一定是大于等于N-1条的。图的最小生成树,就是在这些边中选择N-1条出来,连接所有的N个点。这N-1条边的边权之和是所有方案中最小的。Prim算法 Prim算法采用与Dijkstra、Bellman-Fo原创 2017-08-04 16:27:49 · 411 阅读 · 0 评论 -
Part Acquisition(最短路径Dijkstra算法+路径输出)
Part AcquisitionTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 4931 Accepted: 2075 Special JudgeDescriptionThe cows have been sent on a mission thr原创 2017-08-17 20:17:03 · 377 阅读 · 0 评论 -
最短路径—Dijkstra算法和Floyd算法
转自:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.htmlDijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多转载 2017-08-07 14:28:21 · 166 阅读 · 0 评论 -
哈密尔顿环
欧拉回路是指不重复的走过所有路径的回路,而哈密尔顿环是指不重复地走过所有的点,并且最后还能回到起点的回路。使用简单的深度优先搜索,就能求出一张图中所有的哈密尔顿环,下面给出一段参考程序:#include #include #include #include #include #include #include using namespace std;int start,leng原创 2017-08-08 11:50:01 · 4567 阅读 · 0 评论 -
昂贵的聘礼 (dfs)
昂贵的聘礼 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 20000/10000K (Java/Other)Total Submission(s) : 68 Accepted Submission(s) : 21Problem Description年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于原创 2017-08-08 20:38:07 · 222 阅读 · 0 评论 -
Arbitrage (floyed算法)
Arbitrage Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 43 Accepted Submission(s) : 16Problem DescriptionArbitrage is the use of disc原创 2017-08-08 21:31:14 · 1414 阅读 · 0 评论 -
最小生成树(prime算法、kruskal算法) 和 最短路径算法(floyd、dijkstra)
最小生成树能够保证整个拓扑图的所有路径之和最小,但不能保证任意两点之间是最短路径。 最短路径是从一点出发,到达目的地的路径最小。 带权图分为有向和无向,无向图的最短路径又叫做最小生成树,有prime算法和kruskal算法;有向图的最短路径算法有dijkstra算法和floyd算法。 生成树的概念:联通图G的一个子图如果是一棵包含G的所有顶点的树,则该子图称转载 2017-08-16 10:01:30 · 340 阅读 · 0 评论 -
Checking an Alibi(最短路径 Dijkstra)
A crime has been comitted: a load of grain has been taken from the barn by one of FJ's cows. FJ is trying to determine which of his C (1 <= C <= 100) cows is the culprit. Fortunately, a passing satell原创 2017-08-16 11:39:36 · 254 阅读 · 0 评论 -
Wormholes(Bellman-Ford找负权回路)
Wormholes Time Limit : 4000/2000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 81 Accepted Submission(s) : 27Problem DescriptionWhile exploring his many f原创 2017-08-09 12:02:07 · 276 阅读 · 0 评论 -
Currency Exchange (Bellman-Ford算法,判断是否有正权回路)
题意:一个城市有 N 种货币, 有 M 个兑换点, 兑换货币有一定的兑换率 r 和佣金 c,如果货币 A 兑换 B 兑换率是 r ,佣金是 c那么value 个 A 可以换成 (value-c)*r 个 , 每个兑换点能两种货币双向兑换,但是兑换比例和佣金不同,输入时注意一下, 问:最后如果能够使得自己的钱变多,则输出 YES,否则输出 NO。思路:用Bellman-Ford算法判断是否原创 2017-08-09 15:52:45 · 381 阅读 · 0 评论 -
Truck History (Prim算法)
Truck History Time Limit : 4000/2000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 79 Accepted Submission(s) : 27Problem DescriptionAdvanced Cargo Movement,原创 2017-08-09 17:11:21 · 233 阅读 · 0 评论 -
Sorting It All Out (拓扑排序)
Sorting It All Out Time Limit : 2000/1000ms (Java/Other) Memory Limit : 20000/10000K (Java/Other)Total Submission(s) : 64 Accepted Submission(s) : 21Problem DescriptionAn ascending sorted原创 2017-08-09 20:47:00 · 266 阅读 · 0 评论 -
Borg Maze(bfs+prim)
Borg MazeTime Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 73 Accepted Submission(s) : 24Problem DescriptionThe Borg is an immens转载 2017-08-09 23:31:25 · 183 阅读 · 0 评论 -
hihocoder #1015 : KMP算法
时间限制:1000ms单点时限:1000ms内存限制:256MB描述小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。这一天,他们遇到了一只河蟹,于是河蟹就向小Hi和小Ho提出了那个经典的问题:“小Hi和小Ho,你们能不能够判断一段文字(原串)里面是不是存在那么一些……特殊……的文字(模式串)?”小Hi和小Ho仔细思考了一下,...原创 2018-03-11 20:31:03 · 124 阅读 · 0 评论