摘要: //将边倒转后存放在两个数组中使用两次Dijkstra算法#include <iostream>#include <string.h>//memset的头文件using namespace std;#define arraysize 1001int maxData = 0x7fffffff;//最大整数int dis[arraysize][arraysize];int re... 阅读全文
posted @ 2010-04-25 20:30 北海小龙 阅读(214) 评论(0) 推荐(0) 编辑
摘要: //最小生成树Prim算法#include <iostream>#include <string.h>using namespace std;#define arraysize 101int maxData = 0x7fffffff;int dis[arraysize][arraysize];bool flag[arraysize];int d[arraysize];int... 阅读全文
posted @ 2010-04-25 20:30 北海小龙 阅读(121) 评论(0) 推荐(0) 编辑
摘要: //Dijkstra#include <iostream>#include <stdio.h>using namespace std;#define max 0x7fffffff//设置图中的两点的距离为无穷大#define arraysize 2001int dis[arraysize][arraysize];bool final[arraysize];int d[arr... 阅读全文
posted @ 2010-04-25 20:29 北海小龙 阅读(286) 评论(0) 推荐(0) 编辑
摘要: /*Dij的变形,这道题目的意思大致是,给你起点和终点,还有一些可用来中间过度的点,首先保证你能够跳跃到终点,同时还要保证你的跳跃跨度最小,也就是从起点到终点路径上的最大的那条边要尽量小,这个有点绕,所以我把这道题目改一下等价题:假设你在玩一个闯关游戏,目的是到达终点闯关,走哪条路无关紧要,你把那些点之间的路径看成是怪物,路径长度看成是怪物的能量值,如果你想击败怪物顺利闯关的话,你的能量值必须高于... 阅读全文
posted @ 2010-04-25 20:29 北海小龙 阅读(453) 评论(0) 推荐(0) 编辑
摘要: //思路:使用Dijkstra变形做的 #include <iostream>#include <stdio.h>using namespace std;int n,m;int num;int dis[1001][1001];//存储图的临界矩阵int d[1001];//存储最短距离bool flag[1001];//存储是否找到了最短路void Dij(){int ma... 阅读全文
posted @ 2010-04-25 20:28 北海小龙 阅读(344) 评论(0) 推荐(0) 编辑
摘要: //迷宫求解问题//思路:深度优先搜索#include <iostream>#include <math.h>using namespace std;#define max 8char map[max][max];int axisx[]={0,-1,0,1};//代表行上的偏移int axisy[]={-1,0,1,0};//代表列上的偏移int dx,dy;int t;i... 阅读全文
posted @ 2010-04-25 20:27 北海小龙 阅读(602) 评论(0) 推荐(0) 编辑
摘要: //数值型搜索题 关键点:缩小素数的范围#include <iostream>#include <stdio.h>#include <math.h>using namespace std;int prime[10000];int num = 0;void generate_prime(){for(int i=2;i<10000;++i){bool isPr... 阅读全文
posted @ 2010-04-25 20:26 北海小龙 阅读(207) 评论(0) 推荐(0) 编辑
摘要: //将边倒转后存放在两个数组中使用两次Dijkstra算法#include <iostream>#include <string.h>//memset的头文件using namespace std;#define arraysize 1001int maxData = 0x7fffffff;//最大整数int dis[arraysize][arraysize];int re... 阅读全文
posted @ 2010-04-24 21:28 北海小龙 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 当我们求解acm题目时,通常在设计好算法和程序后,要在调试环境(例如VC等)中运行程序,输入测试数据,当能得到正确运行结果后,才将程序提交到oj中。但由于调试往往不能一次成功,每次运行时,都要重新输入一遍测试数据,对于有大量输入数据的题目,输入数据需要花费大量时间。 使用freopen函数可以解决测试数据输入问题,避免重复输入,不失为一种简单而有效的解决方法。 函数名:freopen 声明:FI... 阅读全文
posted @ 2010-04-20 22:44 北海小龙 阅读(603) 评论(0) 推荐(1) 编辑
摘要: //杭电1238题:求最长公共子串//思路:使用string中的相应方法//教训:特别要注意临界条件#include <string>#include <iostream>#include <stdio.h>#include <algorithm>//引入algorithm类 using namespace std;bool cmp(string a... 阅读全文
posted @ 2010-04-20 22:42 北海小龙 阅读(361) 评论(0) 推荐(0) 编辑