自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (8)
  • 收藏
  • 关注

原创 子序列最大和(杭电acm1003)

Max SumProblem DescriptionGiven a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (

2012-03-25 21:50:14 4466 2

转载 硬盘资料与知识大全

【硬盘资料与知识大全】目录:一:浅谈硬盘发展史                                                二:硬盘“空间”与“文件大小”秘密                                    三:新手学堂之看图识硬盘                                            四:跳出硬盘

2012-03-10 15:38:28 10003

原创 常见算法简介

A*搜寻算法,俗称A星算法: 在此算法中,g(n)表示从起点到任意顶点n的实际距离,h(n)表示任意顶点n到目标顶点的估算距离。 因此,A*算法的公式为:f(n)=g(n)+h(n)。Dijkstra 算法:算法解决的是有向图中单个源点到其他顶点的最短路径问题。

2011-12-20 19:23:11 646

原创 vs编译器相关笔记

cl生成汇编代码:参数/FAvs编译器不支持C99。貌似还没有完全支持C99的编译器

2011-12-10 23:39:34 526

转载 Ubuntu下OpenCV源码编译安装 转

环境:ubuntu 10.04 + OpenCV 2.2.0OpenCV源码下载:http://sourceforge.net/projects/opencvlibrary/安装必要的库:sudo apt-get install cmake build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-dev

2011-12-06 14:14:24 775

原创 不可积分函数

正态分布函数的密度函数是不可积的,虽然它的原函数(即不定积分)存在,但不能用初等函数表达出来。 习惯上,如果一个已给的连续函数的原函数能用初等函数表达出来,就说这函数是“积得出的函数”,否则就说它是“积不出”的函数。比如下面列出的几个积分都是属于“积不出”的函数,但是这些积分在概率论,数论,光学,傅里叶分析等领域起着重要作用。(1)∫e^(-x²)dx;(2)∫(sinx)/xdx;(3)

2011-12-02 23:16:08 17908

转载 磁盘术语、常识

硬盘的基本知识尽管硬盘不能用摩尔定律来给他定义发展历程,但是更新换代是肯定必不可少的,不管是自身的发展需要也好,还是其它设备给硬盘行业的间接施压也好我们总是需要看到发展看到进步。硬盘是一个半导体与机械的集合体所以他的发展并不能如半导体那样迅猛,虽然我们仍然看到的是一个技术稳步发展的局面,但是硬盘技术又开始前进了,并且加大了步伐。 因为太多的周边发展已经将硬盘推到了一

2011-12-01 00:48:54 8336 1

原创 求解gcd(a,b)=ax+by (扩展欧几里得算法)

欧几里德算法用来求两个数的最大公约数的算法。具体如下int gcd(int a,int b){   if(b == 0) return a;   return gcd(b,a%b); }扩展欧几里德算法(求解gcd(a,b)=ax+by )分析:ax1+by1=gcd(a,b) =gcd(b,a%b)=bx2

2011-11-15 20:34:30 2524

原创 北大acm 1001 Exponentiation

#include#include#includeusing namespace std;void mul(int *c,int *a,int *b)  //c=a*b{    int i,j,k,carry,result;    memset(c,0,sizeof(int)*126);    for(j=0,carry=0;j        {

2011-11-14 22:17:42 759

原创 字符串匹配(模式匹配)KMP BM

text字符串中找到pat模式串。//KMP算法#include     void setup(char pat[], int fail[]){     int  length = strlen(pat);     int  i, j;     fail[0] = -1;     for (i = 1; i           for (j=fail[i-1];

2011-11-14 13:21:18 501

原创 判断数组中有没有连续和为0

数组a[n],求出sum[i]=a[0]+……+a[i]。然后判断有没有sum[i]==sum[j]   bool zero_sum(int*a,intn){ int i; for(i=1;in;i++) a[i]+=a[i-1]; sort(a,n); for(i=1;in&&a[i]==a[i-1];i++)

2011-11-14 12:33:40 682

原创 表示成两数的平方和(已知R,求X,Y,使X^2+Y^2=R)

两个指针一个从1开始递增,一个从sqrt(n)递减。int main(){ int n,x,y,sn; cin>>n; sn=sqrt(n); x=1,y=sn; while(xy) { if(x*x+y*y==n) x++,j--; if(x*x+y*yn)

2011-11-14 11:34:39 1122

原创 三个已排序的数组a,b,c,求i,j,k使a[i]=b[j]=c[k]

for(i=j=k=0;in&&jm&&kl;) if(a[i]b[j]) i++; else if(b[j]c[k]) j++; else if(c[k]a[i]) k++; else output(i,j,k),exit;

2011-11-14 11:26:46 809

转载 求两个排好序的数组合并之后的中位数

void  sort(int [], int);int  median(int x[], int y[], int n){     int  first_X = 0;        /* lower element of x[]     */     int  first_Y = 0;        /* lower element of y[]     */     int

2011-11-14 11:07:57 911

原创 求出和为固定值的所有连续整数

给定和为n,两个指针 l、r从0到n扫描, 记录sum=a[l]+……+a[r]。if sumn l++; if(sum==n) output,  r++,l++;#include  #include  void main(void){     long  left, right;       /* left and right bound     */     lon

2011-11-14 11:00:10 568

原创 指数计算 m^n (可以扩展到矩阵的n次方)

原理: m^n= 1 (n==0)       =(m^k) (n==2k)      =m*m^2k (n==2k+1) ///////代码//递归方式unsigned long  recursive_power(unsigned long m, unsigned long n){     unsigned long temp;     if (n ==

2011-11-14 10:50:31 1622

转载 整数的分割数目

//只是输出分割的数目unsigned long  compute(int, int);unsigned long  int_part_no(int);unsigned long  int_part_no(int n){     return compute(n, n);    /* convert to another form */}/* -------------

2011-11-14 10:43:41 639

转载 集合的所有分割

#include #include            /* for malloc()             */#define  ALWAYS   1void  display(int *, int);void  set_partition(int n){     int  *code, *maxi;       /* arrays for code[], maxi[

2011-11-14 10:41:21 485

转载 k个元素的子集 C(n,k)

#include  #include  #define   MAXSIZE    20#define   LOOP        1void main(void){     int  set[MAXSIZE];     int  n;     int  k;     int  position;     int  i, j;     char line[

2011-11-14 10:40:19 596

转载 列出所有排列(字典顺序)

#include #include #define  LOOP         1#define  SWAP(a,b)    { int t; t = a; a = b; b = t; }#define  REVERSE(a,b) { int i, j;                            \                        for (i=(a)

2011-11-14 10:39:18 513

原创 列出所有排列(旋转法)

#include  #include  #define   MAXSIZE   20#define   ROTATE(p) {  int  i, temp;              \                       temp = perm[p];            \                       for (i = p-1; i >= 0; i

2011-11-14 10:38:20 513

转载 列出所有子集(格雷码顺序)

#include  #include  #define   MAXSIZE         20#define   YES             1#define   LOOP            1#define   FLIP_DIGIT(x)   x = ((x) == '0' ? '1' : '0')#define   FLIP(x)         x = (1

2011-11-14 10:37:06 543

转载 列出所有子集(字典顺序)

#include  #include  #define   MAXSIZE      20#define   LOOP          1void main(void){     int  set[MAXSIZE];     int  n, i;     int  position;     char line[100];     printf("\nAl

2011-11-14 10:36:01 628

转载 列出所有子集(二进制递增方式)

#include  #include  #define   MAXSIZE   20#define   LOOP       1void main(void){     char digit[MAXSIZE];     int  i, j;     int  n;     char line[100];     printf("\nDirect Genera

2011-11-14 10:34:48 716

转载 匈牙利算法

匈牙利算法:格式说明输入格式:第1行3个整数,V1,V2的节点数目n1,n2,G的边数m第2-m+1行,每行两个整数t1,t2,代表V1中编号为t1的点和V2中编号为t2的点之间有边相连输出格式:1个整数ans,代表最大匹配数邻接矩阵-C#include#include intn1,n2,m,ans;intresult[101];//记录V2中的点

2011-11-14 10:29:18 308

原创 希尔排序

#includeusing namespace std;void Shell(int a[],int n)  //Shell排序{    int i,j,gap,tmp;    for(gap=n/2;gap>0;gap/=2)//要确保gap能取到1    {//步长为gap的插入排序        for(i=gap;i        {

2011-11-14 09:41:52 333

原创 快速排序

#includeusing namespace std;int part(int *a,int l,int r){    int x=a[l];    int i,j,tmp;    for(i=l,j=l+1;j    {        if(a[j]        {            i++;            tmp=a[j];

2011-11-14 09:41:24 292

原创 归并排序

#includeusing namespace std;int b[1000];void merge(int *a,int l,int r) //Shell排序{ if(lr) { int m=(l+r)/2; merge(a,l,m); merge(a,m+1,r); //copy

2011-11-14 09:39:59 290

原创 堆排序

#includeusing namespace std;void adjustHeap(int *a,int i,int n){ int ch,tmp; while(i*2+1n) { ch=i*2+1; if(ch+1n&&a[ch]a[ch+1]) ch+=1; if(a[

2011-11-10 15:22:44 266

原创 各种资源网址

结构之法、算法之道:http://blog.csdn.net/v_JULY_v

2011-11-06 00:14:22 979

转载 安装pthread的manpages(man 手册)ubuntu 10.04

由于学习多线程编程,所以用到pthread,但是man的时候却发现没有pthread函数库的手册页,然后安装$sudo apt-get install glibc-doc    安装以后,发现还是有很多函数不全,只有一小部分pthread的函数,使用man -k pthread或apropos pthread可以查找到当前manpages中关于pthread的手册。安装manpages-p

2011-11-06 00:02:00 1094

转载 路由软件Quagga安装教程

Quagga是一款功能比较强大的开源路由软件,支持rip,ripng,ospfv2,ospfv3,bgp等协议。目前最新版本为Quagga 0.99.17。安装Quagga的目的是使装有linux(我采用的是Ubuntu10.04LTS)系统的电脑变成一台路由器,以便今后的实验。之所以选择Quagga是因为它的操作和Cisco的操作是比较相似的。今天用到的电脑需要多块网卡支持(至少两块)。

2011-11-06 00:00:16 2237

OpenMP 下实现的快速排序(c语言代码)

并行(OpenMp)快速排序代码(c语言),里面可以统计执行的时间,估计并行效率。

2010-12-12

linux_command.pdf

linux shell命令的详细解释,解释了每个参数的作用。

2010-11-25

Linux命令执行程序shell

在linux下,C语言实现的模拟shell程序。能够显示每条命令使用的cpu时间、进程中断次数、换页次数。

2010-11-25

tiny+编译器(C++实现)

用c++语言在tiny编译器的基础上加了一些语法规则。代码绝对没错误,能够比较智能的报错。实现了此法扫描、语法分析、语意分析、中间代码生成。

2010-11-25

tiny编译器(c语言版)

完整的tiny编译器,用C语言实现。源代码中有详细注释,模块清晰,适合初学者学习使用。

2010-11-25

eclipse中文教程(入门级别)

叫你如何使用eclipse,特别适合入门级别的人。很经典的教程,我就是在此教程的引导下学习eclipse的!!

2010-07-21

基于eclipse平台的GEF教程

很经典的eclipse gef教程,的别适合入门级别的人作为参考。

2010-07-21

学生管理系统(c++)

一个简单的学生管理系统源代码,在win32控制台下。适合c++初学者。

2010-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除