代码改变世界

随笔档案-2008年02月

typedef用法小结

2008-02-28 13:05 by OntheMars, 113 阅读, 收藏,
摘要: typedef 转自百度 typedef用法小结 这两天在看程序的时候,发现很多地方都用到typedef,在结构体定义,还有一些数组等地方都大量的用到.但是有些地方还不是很清楚,今天下午,就想好好研究一下.上网搜了一下,有不少资料.归纳一下:来源一:Using typedef to Curb Miscreant CodeTypedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。不管怎样,使用 typedef 能为代码带来意想不到的好处,通... 阅读全文

结构和联合的区别

2008-02-23 19:28 by OntheMars, 336 阅读, 收藏,
摘要: 2. 结构和联合的区别 结构和联合有下列区别: 1. 结构和联合都是由多个不同的数据类型成员组成, 但在任何同一时刻, 联合中只存放了一个被选中的成员, 而结构的所有成员都存在。 2. 对于联合的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存 在了, 而对于结构的不同成员赋值是互不影响的。 #include<iostream>#include<stdio.h>using namespace std;union{ /*定义一个联合*/ int i; struct{ /*在联合中定义一个结构*/ char first; char second; }half; }n 阅读全文

Floyd-Warshall

2008-02-18 16:34 by OntheMars, 204 阅读, 收藏,
摘要: /*开始读题时理解不对耽误了时间。他要求的最短时间是从原点向所连点,同时出发计时后再取最大值。最后在所有节点中取最小值。使用算法 Floyd-Warshallby jiajie999*/#include"stdio.h" int a[101][101]; int i,j,k=0; int min; int max[101]; int T; int n,m,temp,to; int flag; void main() { while(scanf("%d",&n)&&n!=0) { for(i=1;i<=n;i++) for(j 阅读全文

c语言中的搜索函数

2008-02-18 14:52 by OntheMars, 608 阅读, 收藏,
摘要: 搜索函数 crypt(将密码或数据编码) 相关函数 getpass 表头文件 #define _XOPEN_SOURCE#... 阅读全文

字符串与数之间转换函数

2008-02-18 14:48 by OntheMars, 167 阅读, 收藏,
摘要: 转自 &豪 - C++博客字符串与数之间转换函数 atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 ... 阅读全文

图论算法

2008-02-18 02:09 by OntheMars, 202 阅读, 收藏,
摘要: 图论算法(一)robby @ 2005-11-07 22:16重新开始,踏踏实实地学好每一点知识8| DFS相关算法,关键是结点的颜色和时间戳的记录 1.有向图的强连通分量(见CLRS) 先DFS一遍,记录每个结点访问完毕的顺序,然后把顺序反过来再DFS,即可找出每个强连通分量 相关题目:TOJ 1794 TheBottom of a Graph2.无向图的割点和桥(见lrj书) 算法基于以下原理:(1)如果根顶点的儿子数大于1,则根顶点是割点(2)如果一个点和这个点的子孙都不存在指向这个点祖先的后向边,则这个点为割点。实现时需要对每个结点记录一个low值,表示该结点的子孙能够到达的最小的深度 阅读全文

字符串hash函数

2008-02-18 02:06 by OntheMars, 214 阅读, 收藏,
摘要: 转自 http://www.cppblog.com/shyli/archive/2007/04/07/21455.html字符串hash函数 字符串hash函数,解决冲突用开放定址法,每次对哈希值加1在下列程序中,不是按常规方法用哈希表来记录关键字,而是用整型数组Htable记录关键字在字符串ch中的位置。在插入时不用把关键字复制到哈希表中,只是记录一个索引,从而提高了效率。当查询时,只要把Htable的值映射到字符串ch中就可以了。注意ch的下标要从1开始,因为Htable中的零值认为是空,处理起来比较方便。#include<iostream>#include<string 阅读全文

线段树模板

2008-02-18 01:55 by OntheMars, 137 阅读, 收藏,
摘要: 极光炫影 发表于 2006-04-12 20:09:52 /* 解决ZOJ1128的线段树模板1757411 2006-04-12 19:51:35 Accepted 1128 C++ 00:00.00 484K 极光炫影 Author : JGShining Date : 2006-04-12*/#include<cstdio>#include<cassert>#include<algorithm>using namespace std;typedef struct ITREE_NODE{ ITREE_NODE *pLChild, *pRChild; do 阅读全文

Floyd-Warshall多源最短路径

2008-02-18 01:53 by OntheMars, 147 阅读, 收藏,
摘要: Floyd-Warshall多源最短路径 const int MAXN = 101 ; const int INF = 1000000 ; int g[MAXN][MAXN]; int d[MAXN][MAXN]; int floyd( int n) { int i,j,k; for (i = 1 ;i <= n;i ++ ) for (j = 1 ;j <= n;j ++ )d[i][j] = g[i][j]; for (k = 1 ;k <= n;k ++ ) { for (i = 1 ;i <= n;i ++ ) for (j = 1 ;j <= n;j + 阅读全文

STL小结(原创)

2008-02-18 01:51 by OntheMars, 206 阅读, 收藏,
摘要: 转自http://www.cnitblog.com:80/cockerel/STL小结(原创) STL 概述: 使用容器前增加 #pragma warning(disable: 4786) 指令 字符串容器只储存指针,请另外用数组存放真正的串(当然你也可以使用STLstring) 断言 在模板参数,传递类名,在 ( 离散 ) 函数参数中,使用函数名 ( myStruct(); 或 myFunc ) 内置 <functional> : greater <T>, less<T>, greater_equal<T>, less_equal<T&g 阅读全文

单源最短路 Dijkstra O(mlogn) (类实现)

2008-02-18 01:46 by OntheMars, 227 阅读, 收藏,
摘要: 转载自 Felicia 的bolg单源最短路 Dijkstra O(mlogn) (类实现) 单源最短路 Dijkstra O(mlogn) (类实现)#include<iostream>#include<vector>#include<map>#definemaxn1010usingnamespacestd;typedefdoubleweight;classgraph_c{public:voidinit(int_n);voiddijkstra(intS);voidadd_edge(intu,intv,weightw);private:intn;vector 阅读全文

凸包(类实现)

2008-02-18 01:44 by OntheMars, 167 阅读, 收藏,
摘要: 凸包(类实现) /**//*************************************************************************Author:WHU_GCCCreatedTime:2007-8-1313:59:37FileName:convex_hull.cppDescription:************************************************************************/#include<iostream>usingnamespacestd;#defineout(x)(cout&l 阅读全文

An easy DP problem HDOJ 1176

2008-02-18 01:43 by OntheMars, 130 阅读, 收藏,
摘要: An easy DP problem - HDOJ 1176极光炫影 发表于 2005-12-22 15:03:44 #include<stdio.h>#include<algorithm>using namespace std;struct DATA{ int x, t;};DATA data[100000];int stateold[11], statenew[11], cost[11];bool cmp(const DATA&a, const DATA&b){ if(a.t != b.t) return a.t < b.t; else ret 阅读全文

哈夫曼树

2008-02-18 01:42 by OntheMars, 149 阅读, 收藏,
摘要: 转自 极光炫影 的blog/*http://coder.buct.edu.cn:8080/JudgeOnline/showproblem?problem_id=1078*/好久没有做题目了, 找了一个哈夫曼树的题目。#include <iostream>#include <functional>#include <algorithm>#include <vector>using namespace std;int main(){ int n, e; vector<int> s; int i; int total; while(cin 阅读全文

数的划分

2008-02-18 01:40 by OntheMars, 167 阅读, 收藏,
摘要: 转自 农夫三拳 的blog数的划分 /**//*http://acm.hnu.cn:8080/online/?action=problem&type=show&id=10390*/#include <iostream>#include <vector>using namespace std;long long r[221][11][221];int f(int m, int n, int c){ //只要分成两列,在首位数字确定的情况下只可能有一种分法 if( n <= 2 ) return 1; int i; int result = 0; in 阅读全文