C++
文章平均质量分 72
疯的世界
这个作者很懒,什么都没留下…
展开
-
poj 1035 Spell checker
Spell checker Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 14190 Accepted: 5226 题目链接:http://poj.org/problem?id=1035 Description You, as a membe原创 2012-08-17 13:50:21 · 827 阅读 · 0 评论 -
prim算法
最小生成树:在一个具有几个顶点的连通图G中,如果存在子图G'包含G中所有顶点和一部分边,且不形成回路,则称G'为图G的生成树,代价最小生成树则称为最小生成树。•算法过程–从单一顶点的树T开始–不断加入耗费最小的边(u, v),使T∪{(u, v)}仍为树 ——u、v中有一个已经在T中,另一个不在T中//prim算法求最小生成树 #include #include #include #defi原创 2012-08-09 23:35:59 · 803 阅读 · 0 评论 -
codeblocks调试
codeblocks调试:主要注意的有这几点: 1、要在建立一个工程的前提下 2、要选择debug,不能选择选择reslease 3、project要放在英文目录下面,并且不含空格(特别注意)原创 2013-05-28 09:38:27 · 1073 阅读 · 1 评论 -
Bellman-Ford 算法实现单源最短路径
/* 从某一个点到任意一点的最短距离,该算法可以解决负边权问题,但是不能存在环的权值为负这种情况。这算法的复杂度O(点数*边数) */ #include #include #include #define MAX 400003 #define VALUE 999999 using namespace std; struct edge {//定义边 int from; int t原创 2012-08-09 13:43:48 · 1049 阅读 · 0 评论 -
SPFA算法求最短路径(解决负边权问题)
SPFA算法是对bellman-fort算法的进一步优化,更大程度的减小时间复杂度; 具体看代码 #include #include #include #define info 99999 #define maxn 100 using namespace std; int dis[maxn]; int v,e;//点,边 queue q; int flag[maxn];//表示原创 2013-05-27 21:34:24 · 1547 阅读 · 0 评论 -
poj_1129 Channel Allocation
Channel Allocation Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9669 Accepted: 4919 题目链接:http://poj.org/problem?id=1129 Description When a radi原创 2012-07-27 16:14:58 · 721 阅读 · 0 评论 -
find the mincost route
find the mincost route Time Limit: 1000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1286 Accepted Submission(s): 517 Problem Description 杭州有N原创 2013-05-29 20:40:08 · 748 阅读 · 0 评论 -
数据结构——几种链表基本操作
#include #include #include using namespace std; typedef struct Node { int data; struct Node *next; }Node; typedef struct Node *LinkList; LinkList CreateList() { LinkList pHead = (LinkL原创 2013-10-04 23:56:40 · 1679 阅读 · 0 评论 -
希尔排序 (ShellSort)
//希尔排序算法#include #include using namespace std; int data[] = { 23, 34, 523, 421, 31, 3465, 4, 2341 }; const int n = sizeof(data) / sizeof(int); //希尔排序 //取间隔d的数进行排序,然后缩小d的范围,直到d<=0,d的范围取值d=(d+1)/2;原创 2013-04-10 10:29:02 · 982 阅读 · 0 评论 -
冒泡排序
//冒泡排序 #include #include using namespace std; int a[10] = {45,34,2,65,987,0,67,45,2,45}; int len = sizeof(a)/sizeof(int); void BubbkeSort() { int i,j,temp; for(i=0;i<len-1;i++) {原创 2013-09-28 09:18:34 · 919 阅读 · 0 评论 -
选择排序算法
//选择排序 #include #include using namespace std; int a[10] = {45,34,2,65,987,0,67,45,2,45}; int len = sizeof(a)/sizeof(int); void SelectSort() { int i,j,temp,minVal; for(i=0;i<len-1;i++) {原创 2013-09-28 09:17:28 · 874 阅读 · 0 评论 -
KMP 求子串
#include #include #include #define maxn 100 using namespace std; int next[100]; char subStr[]="asdasdasddsasaaaasds"; char str[]="asdasdasdasddsasaaaasdsalsjlasdjalsdasdasdasddsasaaaasds"; //求next数组原创 2013-05-01 13:22:09 · 926 阅读 · 0 评论 -
递归求最大公约数和最小公倍数
#include #include using namespace std; int gxs(int a,int b) { int c; //保证a>b if(a<b) { c=a; a=b; b=c; } int r=a%b;//求余数 if(0==r) return b原创 2013-04-29 21:32:50 · 1214 阅读 · 0 评论 -
求一个数各个位数之和
//求一个数各个位数之和 int parm(int n) { if(n<10) { return n; } else { return parm(n/10)+n%10; } } int main() { printf("%d",parm(12345)); return 0; }原创 2013-04-29 21:43:30 · 2118 阅读 · 0 评论 -
STL文档
STL文档 1 List 2 头文件:#include 3 实例化:listListName 4 原型:namespacestd { template > classlist; } 构造函数(使得可以在定义时赋初值) list (); list (size_type n, const TYPE &v) list (co原创 2012-08-06 00:14:27 · 2091 阅读 · 1 评论 -
poj_1135 Domino Effect
Domino Effect Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5637 Accepted: 1425 题目链接:http://poj.org/problem?id=1135 Description Did you know tha原创 2012-08-16 18:07:09 · 938 阅读 · 0 评论 -
poj_1386 Play on Words(欧拉路)
Play on Words Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7173 Accepted: 2519 题目链接:http://poj.org/problem?id=1386 Descrip原创 2012-07-27 16:34:19 · 535 阅读 · 0 评论 -
求割边割点
求割边割点 对于一个连通图,删去某个点(删去一个点即把该点和与该点相邻接的边都删去)的集合得到的图将不再连通,删去该集合的任意子集该图依然连通,则称其为该图的一个点割集,若该集合只有一个点组成,则称其为割点。 同样对于一个连通图删去某个边的集合(删去一条边仅删去该条边即可)得到的图将不再连通,删去该边集合的任意子集该图依然连通,则称其为该图的边割集,若该集合只有一条边组成,则称其为割边转载 2012-08-22 15:18:16 · 1290 阅读 · 0 评论 -
Sliding Window poj 2823
题目链接:http://poj.org/problem?id=2823 Sliding Window Time Limit: 12000MS Memory Limit: 65536K Total Submissions: 29378 Accepted: 8734 Case Time Limit: 5000MS原创 2013-03-23 19:37:18 · 910 阅读 · 0 评论 -
Web Navigation poj 1028
题目链接:http://poj.org/problem?id=1028 Web Navigation Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 25407 Accepted: 11317 Description Standard webb原创 2013-03-23 19:39:24 · 1144 阅读 · 0 评论 -
Count Color poj 2777
题目链接:http://poj.org/problem?id=2777 Count Color Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 29470 Accepted: 8800 Description Chosen ProblemSol原创 2013-03-23 19:40:52 · 1057 阅读 · 0 评论 -
Frequentvalues poj 3368
题目链接:http://poj.org/problem?id=3368 Frequentvalues Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10917 Accepted: 4004 Description You are given原创 2013-03-23 19:42:33 · 934 阅读 · 0 评论 -
斐波拉契数列 优化
#include using namespace std; long a[1000]; //斐波拉契数列 long fib(int n) { if(n<=1) return n; if(a[n]!=0)return a[n];//将已经计算过得值存放起来 return a[n] = fib(n-1)+fib(n-2); } int main() {原创 2013-03-27 10:39:30 · 983 阅读 · 0 评论 -
排列组合
求组合: #include int a[100]; //从1...m中取k个数 void comb(int m,int k) { int i,j; for(i=m;i>=k;i--) { a[k]=i; if(k>1) { comb(i-1,k-1); } else { for(j=a[0];j>0;j--) { printf("%4d原创 2013-04-27 21:39:14 · 990 阅读 · 0 评论 -
插入排序算法(InsertSort)
//插入排序 #include #include using namespace std; int arr[] = { 23, 34, 523, 421, 31, 3465, 4, 2341 }; const int n = sizeof(arr) / sizeof(int); void InsertSort() { for (int i = 1; i < n; i++)//原创 2013-04-10 10:30:49 · 1055 阅读 · 0 评论