
好文章
adolph_jun
这个作者很懒,什么都没留下…
展开
-
算法入门
算法入门转载 2015-07-26 10:35:10 · 297 阅读 · 0 评论 -
类型
速查表:char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65535 (2 Bytes)int -2147483648 ~ +2147483647 (4 Bytes)unsigned int 0 ~ 4294967295 (4 Bytes)long == intlo转载 2016-01-16 17:17:33 · 225 阅读 · 0 评论 -
优秀博客收集
1.acm大神原创 2015-10-15 17:33:05 · 1314 阅读 · 0 评论 -
最长回文串
原文字符。例如:原串:abaab新串:#a#b#a#a#b#这样一来,原来的奇数长度回文串还是奇数长度,偶数长度的也变成以‘#’为中心奇数回文串了。接下来就是算法的中心思想,用一个辅助数组P 记录以每个字符为中心的最长回文半径,也就是P[i]记录以Str[i]字符为中心的最长回文串半径。P[i]最小为1,此时回文串为Str[i]本身。我们可以对上述例子写出其P转载 2015-10-14 21:06:44 · 492 阅读 · 0 评论 -
SPFA算法
是一种求单源最短路的算法算法中需要用到的主要变量int n; //表示n个点,从1到n标号int s,t; //s为源点,t为终点int d[N]; //d[i]表示源点s到点i的最短路int p[N]; //记录路径(或者说记录前驱)queue q; //一个队列,用STL实现,当然可有手打队列,无所谓bool vis[N];转载 2015-09-23 00:18:25 · 261 阅读 · 0 评论 -
数据类型范围
unsigned int 0~4294967295 int 2147483648~2147483647 unsigned long 0~4294967295long 2147483648~2147483647long long的最大值:9223372036854775807long long的最小值:-9223372036854775808unsigne原创 2015-10-24 10:04:03 · 215 阅读 · 0 评论 -
最大子序列和
原文链接问题: 给定一整数序列A1, A2,... An (可能有负数),求A1~An的一个子序列Ai~Aj,使得Ai到Aj的和最大 例如:整数序列-2, 11, -4, 13, -5, 2, -5, -3, 12, -9的最大子序列的和为21。对于这个问题,最简单也是最容易想到的那就是穷举所有子序列的方法。利用三重循环,依次求出所有子序列的和然后取最大的那个。当然算法复杂度会达到转载 2015-10-08 19:48:54 · 276 阅读 · 0 评论 -
树状数组
原文链接树状数组中用的d【】,每个点都有一定的管辖范围;如d[1]=a[1];d[2]=a[1]+a[2];d[3]=a[3];d[4]=a[1]+a[2]+a[3]+a[4];等等;这样的结构关键是为了,对一个数组内部动态的删除,增加,来高效的求某个点或者某个区间的值;比如说对数组a,改变某一位的值需O(1),求某个转载 2015-10-07 11:27:14 · 248 阅读 · 0 评论 -
最短路归纳
一floyd求多源、无负权边的最短路,用矩阵记录图松弛每一对点,使得每一对点之间的权值是最小的,利用三个for循环,时间复杂度O(n^3)void make_floyd(){ for (k=0; k for (i=0; i for (j=0; j {原创 2015-10-19 23:59:29 · 439 阅读 · 0 评论 -
字符串函数
原文一、字符处理库中的函数#include函数原型:int f(int c)函数说明:C语言定义的处理字符操作,包括是否是数字,字母,打印字符,十六进制数字,大小写转换等,具体如下:isalnum:Check if character is alphanumeric (function)isalpha :Check if character is alphabe转载 2015-10-02 16:42:00 · 285 阅读 · 0 评论 -
优先队列的使用方法
原文链接C++优先队列的基本使用方法 #include#include#includeusing namespace std;struct node{ friend bool operator { return n1.priority "为从小打到排列 } int priority;转载 2015-08-05 13:50:35 · 316 阅读 · 0 评论 -
vector 的介绍
原文链接在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout(5)使用迭代器访问元素.vectorint>::iterator it;转载 2015-08-05 11:02:30 · 313 阅读 · 0 评论 -
prim 与 dijkstra 的比较
他们的不同之处是:两个集合U,VU是构成最小生成树的集合,V原图的集合prim 每次都是从U的每个点出发,寻找U集合与V集合最近的距离的点,再将V中的该点加入U中dijksra从原点出发在V找离该点最近的点 p1, 将该距离加入到 dis[i],接着以p1为原点开始找举个例子就知道他们不能乱来了:有四个顶点(v0, v1, v2, v原创 2015-08-03 16:23:47 · 845 阅读 · 0 评论 -
优先队列
原文链接优先队列用法在优先队列中,优先级高的元素先出队列。标准库默认使用元素类型的优先队列的第一种用法,也是最常用的用法:priority_queueint> qi;通过故示例1中输出结果为:9 6 5 3 2第二种方法:在示例1中,如果我们要把元素从小到大输出怎么办呢?这时我们可以传入一个比较函数,使用functional.h函数对转载 2015-08-03 11:18:29 · 234 阅读 · 0 评论 -
各大oj介绍
1.题库与网站资源题库-在线提交系统(Online Judge)简介 下面是几个比较大的在线提交系统(OnlineJudge)里面有大量历年的竞赛题目,注册一个ID,然后用自己熟悉的语言(一般有Pascal/C/C++/Java)写好源代码提交即可,会实时返回信息告诉你是否正确。采用黑箱测试,系统里有一套标准的输入输出数据(对外保密,而且通常数据很多很怪),你的程序的输出和标准输出完全转载 2015-07-27 16:55:33 · 757 阅读 · 0 评论 -
邻接表
邻接表,这样空间和时间复杂度就都是M。对于稀疏图来说,M要远远小于N2。先上数据,如下。4 5 1 4 9 4 3 8 1 2 5 2 4 6 1 3 7 第一行两个整数n m。n表示顶点个数(顶点编号为1~n),m表示边的条数。接下来m行表示,每行有3个数x y z,表示顶点x到顶点y的边的权值为z。下图就是一种使用链表来实现邻接表的方法。转载 2015-09-23 17:00:45 · 262 阅读 · 0 评论