- 博客(14)
- 收藏
- 关注
原创 Poj 2253 Frogger
题目大意:两个青蛙,n个石头,(两只青蛙分别在石头1和石头2上),求青蛙1到青蛙2的最小距离中的最大值(石头间的最大值)。最小生成树、最短路、dfs。。。都可以AC附AC代码#include<iostream>#include<math.h>using namespace std;struct Point{ int x, y;};double CalVa...
2019-07-04 15:26:44
146
原创 Poj 2031 最小生成树
题目大意:有n个球,给你每个球的坐标(x、y、z)和半径(r),求把每个球连起来最小需要多少花费(距离)基本上是最小生成树的模板题了(精度很恶心 自己注意吧)两个球之间的距离是sqrt(pow(x1-x2,2)+pow(y1-y2,2)+pow(z1-z2,2))-r1-r2;附AC代码#include<iostream>#include<math.h>usin...
2019-07-03 16:26:02
192
原创 最小生成树讲解
写给自己看而已有两种算法(关于这两个算法的名字没必要纠结。。。中文翻译出来叫啥都有)1.普里姆算法(时间复杂度n2(n为点的数量))思路:随便找一个点A,找到这个点A连接其他点B的最小的边(现在默认已经连上两个点了),将这两个点作为一个点A来看(跟其他点C连接的举例取两个点跟点C的最小值,一个for循环可实现)。for循环处理所有的点,直到所有点连接上我们就能找到最小生成树2.克鲁斯卡算...
2019-07-03 15:14:17
327
原创 Poj 2251 Dungeon Master
简单的三维BFS因为mark数组定义成了char型 wa了好多次(一定要细心)附AC代码#include<iostream>#include<queue>using namespace std;char Map[100][100][100];int Mark[100][100][100];int n, m, l;int Dir[6][3] = { { 1,...
2019-06-19 09:43:16
288
原创 Poj 3009 Curling 2.0
题目大意:有一个球,球可以走四个方向,每走一条直线算作一步。并且碰到墙可以把墙撞碎(至少要有一个可以走的位置才能撞碎墙即’213’是不可以走通的但是’2013’可以走通),2、3分别表示起点和终点,1表示墙,0表示路,超过10步就输出-1。注意:出地图会失败,没有边界(只有碰到墙才可以转弯)数据挺水:因为超过10就输出-1了附AC代码#include<iostream>usi...
2019-06-18 16:06:49
233
原创 Poj 3083 Children of the Candy Corn
题目大意:前提:(迷宫中一直向左或者向右走(可用DFS),一定可以走出迷宫,即从S走到T)要求输出一直向左走走出迷宫需要的步数,一直向右走走出迷宫需要的步数,和走出迷宫需要的最小步数(两次深搜,一次广搜)附AC代码#include<iostream>#include<queue>using namespace std;#define MapMax 40#def...
2019-06-18 10:15:57
232
原创 Poj 2488 DFS
题目大意:象棋中,马只能走‘日’,给一个q*p的地图,问马能否走完所有的格子,并且输入路径(注意字典序)。DFS模板题没啥好说的,注意字典序就行 要不指定过不了。。。附AC代码#include<iostream>#include<queue>using namespace std;#define DirMax 8#define MapMax 50int Di...
2019-06-14 11:28:22
168
原创 Poj2388
快排模板题,输出中位数即可附AC代码#include<iostream>using namespace std;void Sort(int nLeft, int nRight, int NumList[]){ if (nRight <= nLeft) { return; } int i = nLeft; int j = nRight; int nTemp...
2019-06-12 16:26:11
282
原创 POJ 2185
题目大意:给一个矩阵,这个矩阵是有很多个小矩阵组成的(小矩阵的应该不可以翻转),求小矩阵的面积先说一下这个题:数据是真的水。。。咋样都能过orz。然后贴一段AC的错误代码#include<iostream>using namespace std;#define ROWMAX 10001void GetKMPNext_ROW(char *Str, int *Next, in...
2019-06-06 14:55:24
253
原创 Poj 1961
一个字符串,求这个字符串到第i个字符为止的循环节的次数。poj2406的加强版具体思路请参考此处链接附AC代码#include<iostream>using namespace std;void GetKMPNext(char *Str, int *Next, int nLen){ int i = 0; int j = -1; Next[i] = j; while...
2019-06-03 16:23:42
269
原创 poj 2406
题目大意:我们认为字符串a(“abc”)*字符串b(“def”)的结果为"abcdef",a的n次方则就是由n个a组成的字符串。现在给定一个字符串s,问字符串s可能是a的n次方(a为任意字符),求n(题外话:字符串长度好像没给。。。so RE了两次)KMP算法中Next数组的应用附AC代码#include<iostream>using namespace std;void...
2019-06-03 14:50:59
250
原创 POJ 2752
题目简介:给一个字符串S,求出S的所有相同前后缀的长度KMP中对Next数组的简单应用解题思路:aabbaabb假设给定字符是: a b a b a b对应的next数组:-1 0 0 1 2 3 41.最末尾的4,表示后缀长度为4的字符串和前缀相同,可以输出4(此处只用于记录不输出,仅仅是思路。。。)2.然后我们可以确定,abab(前缀)和abab(后缀一定相同)3.默认...
2019-06-03 13:58:13
159
原创 Poj 3461 KMP解法
题目大意:给两个字符串(s1、s2),求s2中s1字符串出现的次数解法KMP和哈希(先写KMP,哈希后面补上)基础KMP 不做讲解 附AC代码#includeusing namespace std;void GetKMPNext(char *str, int *Next,int nLen){Next[0] =-1;int j = 0;int k = -1;while (j &...
2019-06-03 10:40:12
230
原创 后缀表达式
后缀表达式:后缀表达式,又称逆波兰式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则)。(抄自百度百科)说到后缀表达式就不得不说中缀表达式了,中缀表达式就是我们最常见的表达式即运算符在两个操作数中间,运算优先级由运算符(包括括号)来决定,例如7+3*(8+1)-4/2.在来讲一下中缀表达式转后缀表达式的方法:首先我们需...
2019-05-22 17:39:50
1162
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人