- 博客(26)
- 资源 (5)
- 收藏
- 关注
转载 超级详细讲解匈牙利算法
二分图匹配,江湖称二分匹配,图论相关算法。现在给出两个集合,我们拿约会来举例子。一方是男生集合,一方是女生集合,女生都比较内敛,对不认识的男孩纸并不喜欢一起约会,所以这里边就要有人际关系的问题了。这里给男生编号n1,n2.....nn;女生编号v1v2....vn;下面给出女生认识的男生的列表:v1 :n1 ,n2. v2 :n2, n3.v3 : n1
2017-05-21 22:41:40 14830 9
原创 足球锦标赛 华东师范
A. 足球锦标赛Time limit per test: 2.0 secondsTime limit all tests: 2.0 secondsMemory limit: 256 megabytesAccept / Submit: 130 / 496ECNU 足球锦标赛采用了最传统的计分牌来计分。每进一个球,计分员给对应的队要翻牌,使得计分板上显示的数
2017-05-21 17:05:11 571 1
原创 蚂蚁 上海市高校程序设计邀请赛
F. 蚂蚁Time limit per test: 0.5 secondsTime limit all tests: 5.0 secondsMemory limit: 256 megabytesAccept / Submit: 112 / 336水平线上有 N 只蚂蚁,每只蚂蚁的位置及大小均不同。他们沿着 X 轴爬行,有的向左,有的向右,爬行的速度是一样
2017-05-21 16:57:44 414 1
原创 袋鼠妈妈找孩子 2017 华东师范大学网赛
思路:刚开始以为直接dfs搜索到终点就可以了。我是刚开始将数组全都定义为*然后深搜一条路。搜一步就将那一步改为‘.’但是这样会走出四个粘在一起的格子,那里就算四步,实际上那里不是四步。后来想了下。得判断什么格子可以走什么格子不可以走,一个格子只有到那里的那个方向是‘.’其余三个都是*才能走。思路仅供参考不知道华东师范的服务器怎么了提交不了题目所以这代码还是没有提交的。袋鼠妈妈找孩子
2017-05-20 11:21:50 439
原创 Choose the best route dijst算法
思路:一开始想着多次dijst但是超时了 后来在网上看到一个超点汇集。就是将所有开始的点都使得与0点有一条边,最好这条边的权值为0,然后从0点开始求。这就是求0点到其他点的最短路径。但是0点只与开始点相连了而且他们的权值为0,所有dijst算法求的时候就选择了最短到终点的边。One day , Kiki wants to visit one of her friends. As she i
2017-05-20 09:33:43 423
转载 Tarjan 算法超级详解
[置顶] 强连通算法--Tarjan个人理解+详解标签: Tarjan算法详解强连通分量强连通算法2016-06-14 17:31 1688人阅读 评论(4) 收藏 举报 分类:算法(10) 版权声明:0.0小白有写的不好不对的地方请指出~首先我们引入定义:1、有向图G中,以顶点v为起点的弧的数目称为v的出度,记做de
2017-05-20 08:32:27 569
转载 大数模板
[cpp] view plain copy print?在CODE上查看代码片派生到我的代码片#include #include using namespace std; #define DIGIT 4 //四位隔开,即万进制 #define DEPTH 10000 //万进制 #define MAX 251
2017-05-18 20:06:13 289
原创 bfs 穿越雷区 杭电题目
思路:刚才在杭电上看到有个公共的比赛就点进去看了看看到了这个题,然后就做了。讲下思路, 这里的地图是有出了起点和中点是有两种样子。要不+要不-所以只要判断地图不相同就ok 如果相同就continue;用bfs做;穿越雷区 X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量特征)
2017-05-18 11:43:52 314
原创 杭电 小希的迷宫 并查集
思路:这是一个并查集题目。用并查集判断他们是否有环如果有环就不行。然后判断他们最后是否都在一起。大家可以先看看并查集算法。小希的迷宫上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和B,那么既可以通过它从房间A走到房间B,也可以通
2017-05-17 22:25:22 385
原创 求次最小生成树,南阳118题 修路方案
思路:这个题就是求次最小生成树,解法 先求一遍最小生成树,然后在去掉其中一条边求。如果去掉一条边求得的生成树的权值等于之前求的的那条则表明有多条则输出yes,下一次循环把这条边加上,在去掉下一条。需要注意的是有可能去掉这一条边就构不成最小生成树了 不联通的。我这里用的是克鲁斯卡尔算法 。这题是用并查集实现的,要是不知道并查集的朋友可以先百度 看看并查集 这个算法;修路方案时
2017-05-17 20:14:20 377
原创 tarjan算法 杭电迷宫城堡。
思路:这题运用到tarjan算法 刚看这个算法一脸蒙b,然后通过阅读别人的博客算是掌握的差不多了。这个算法中用到两个数组第一个dfn[],low[],第一个数组是用来记录深搜的顺序的,第二个数组是用来保存i节点能够追溯到他这个强连通分量最先深搜到的那个节点。具体的看算法有关键注释。我这里简单说下这个算法推荐大家看下这个博客,他这里讲的非常的详细,http://blog.csdn.net/mengx
2017-05-15 11:39:06 407
原创 杭电毕业bg dfs
思路:这个就是01背包问题差不多。先按持续时间排序。在dfs 这样想 第一场排队 要还是不要,第二场要还是不要,一直到最后一场求出最优解。毕业bgProblem Description每年毕业的季节都会有大量毕业生发起狂欢,好朋友们相约吃散伙饭,网络上称为“bg”。参加不同团体的bg会有不同的感觉,我们可以用一个非负整数为每个bg定义一个“快乐度”。现给定一个bg列表,上面列出每个
2017-05-13 12:09:35 270
原创 南阳oj忙命逃窜,bfs
思路:这里说的第几层实际上就是三维数组,map[x][y][z],然后可以朝六个方向移动的话,在map[1]这层可以移动上下左右,x、y变化,然后还可以从map[1][x][y]到map[2][x][y],移动层次。然后其他的就bfs广搜就ok了。亡命逃窜时间限制:1000 ms | 内存限制:65535 KB难度:4描述
2017-05-13 11:45:49 268
原创 Dijkstra算法一个人的旅行 杭电oj
思路:迪杰斯特啦算法大家可先了解下迪杰斯特算法题,迪杰斯特拉算法是求一个点到其他顶点的最短路径记得那里提示两个地方不止一条路径所以要保存最小的路径;一个人的旅行 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 14 Acce
2017-05-06 22:42:02 516
原创 六度分离 弗洛伊德算法
此题是佛洛伊德算法的模板题目 给大家讲一下佛洛伊德算法 此算法是属于动态规划。d[i][j]表示i到ji到j的最短距离。i点到j点的距离假如有一点u是的i经过u到j点的距离比原来的直接到的距离更加短。则d【i】【j】=min(d【i】[u]+d[u][i])这是经过一个点加入在这基础上还能经过一点w使得距离更加短。在这里简单的说下详细的大家可以看下这个网址http://developer.51c
2017-05-06 22:25:37 625
原创 杭电 二叉搜索树
思路:先说一下二叉搜索树吧 ,大的数字全都在右子树小的数全都在左子树,建立的时候以第一个树为核心比较 比他大则往右子树走然后在右边也按照相同的方法一直到树为NULL,左边也是一样。 这个题先根据第一个字符串建立一颗二叉搜索树。然后前序保存在一个数组。接着输入第二个字符串也前序保存另外一个数组,然后拿这两个字符串比较如果相同则yes不同则no二叉搜索树 Time Limit : 2000
2017-05-06 22:13:16 314
原创 图论南阳155题 城市平乱
思路:刚开始用了佛洛伊德算法,没想到超时了。后来改用多次迪杰斯特算法就过了。迪杰斯特算法是求出源点到其余点的最短距离 这里是求出队伍到危险去的距离然后找出最小的那个然后输出就ok了,注意他说两个城市之间可能有多条路径此时我们要选一条最小的路;城市平乱时间限制:1000 ms | 内存限制:65535 KB难度:4描述 南将军统领着N个部队,这N个部队
2017-05-06 22:02:05 254
原创 普里姆最小生成树算法 南阳38题
思路:这个题目就是从最小生成树,再加上最少的楼连接到外面电缆的花费。给大家讲解一下普里姆算法:一个点集合 ,一个边集合。初始状态将出发的点加入点集合中,然后把他连接到其他点的边加入到边集合中。然后选出一条最小价值的边。然后在把那个价值最小的边另外的一个顶点加入到点集合中。然后循环下去。直到所有点都加入到点集合中。布线问题时间限制:1000 ms | 内存限制:65535
2017-05-04 08:35:47 690
原创 普里姆算法 图论 南阳38题 布线问题
思路:此题就是求最小生成树。这里可以用 普里姆算法 和克鲁斯卡尔算法求最小生成树。我这里用的是普里姆,就给大家介绍一下普里姆算法把。首先 有一个点集合 用来保存顶点。当所有顶点都存进去。则结束查找。然后根据第一个点将他相连的边存入边集合中选择权最小的边。然后找到最小的边的对面那个顶点保存到点集合里去然后又把这个点所相连边存到边集合中去。然后选择最小的边。一直下去知道所有点全部都找完为止。
2017-05-03 23:07:51 368
原创 数独;深搜加回溯南阳722题
思路:从第一个格子开始 如果第一个格子没有数字则 从1开始填数判断1在这行这列这个9宫格里有没有1 有的话则 填2 如果没有 则 往下个格子 深搜按相同的方法填数,过程中不行了 则回溯回去 将搜过路径的访问标志改为0 。数独时间限制:1000 ms | 内存限制:65535 KB难度:4描述 数独是一种运用纸、笔进行演算的
2017-05-03 14:08:00 534 1
原创 迷宫寻宝 南阳82题
思路:循环广搜 先广搜一次看看能不能到终点;如果不能则终点是被门挡住了。再广搜一次找钥匙;如果找不到钥匙了则找不到终点了;在广搜一次开门;迷宫寻宝(一)时间限制:1000 ms | 内存限制:65535 KB难度:4描述一个叫ACM的寻宝者找到了一个藏宝图,它根据藏宝图找到了一个迷宫,这是一个很特别的迷宫,迷宫里有N个编过号的门(N
2017-05-03 14:02:36 509
原创 南阳 58题 最小步数
思路:用广搜搜索就是最短路径了;最少步数时间限制:3000 ms | 内存限制:65535 KB难度:4描述这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0
2017-05-03 13:58:20 302
原创 一笔画问题 南阳 42题 dfs
思路 :欧拉通路 用dfs判断这个图是不是连通图,然后再判断图中顶点的奇数度是不是0或者2. 这是欧拉通路的定理 大家可以百度一下欧拉通路了解一下概念一笔画问题时间限制:3000 ms | 内存限制:65535 KB难度:4描述zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来。
2017-05-03 13:52:21 409
原创 dfs南阳32题组合数
排列组合:深搜。就是一颗树 一开始有三个分支 3 4 2 1 25 3 1 2 14 这里是相同的;3 从 5 3 开始 然后
2017-05-03 13:28:14 354
原创 三个水杯 搜索题 bfs
思路:abc三个水杯 一共有六种倒水方式。a-b,a-c ; b-a,b-c;c-d;广搜着6种方式即可。但是得判断杯子里的水放进另外一个杯子放不放的下,另外一个杯子需要多少水,杯子子里有没有水可放。不要忘记目标和初始状态一样那种情况。三个水杯时间限制:1000 ms | 内存限制:65535 KB难度:4描述给出三个水杯,大小不一,并且只有最大
2017-05-03 13:06:46 1464
原创 c实现 深搜 南阳20 吝啬的国度
思路:连通图深搜一次,不要将人在这里的城市 去其他目标城市 一次次深搜,直接一次深搜。扩展下去。遇到一个没有访问过的节点就保存他的父节点。这就是必经之路。吝啬的国度时间限制:1000 ms | 内存限制:65535 KB难度:3描述在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城
2017-05-03 11:27:35 339
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人