自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(275)
  • 资源 (3)
  • 收藏
  • 关注

原创 告别大一

七末      七末,不是期末。      很快地,又是一年七月。      忽然想起去年今天的我是一个涉世未深的孩纸,没有你的成熟稳定,没有你的了如指掌。       但是,这或许是生命中的一个玩笑。没有解释,也无需解释。      这一年中,我学到了很多,我知道你同样也学到了很多,同一片天空下的我们却有着不一样的角度,角度意味着方向,方向觉得着未来。       辛

2013-07-14 21:25:23 1094

原创 队列的链接存储结构---链队列

#include using namespace std;const int QueueSize = 100;template struct Node { DataType data[QueueSize]; Node* next;};template class LinkQueue{private: Node* fr

2013-07-14 00:07:29 970

原创 队列的顺序存储结构---循环队列

#include using namespace std;const int QueueSize = 100;template class CirQueue{private: DataType data[QueueSize]; ///存放队列元素的数组 int front, rear; ///队头和队尾指针public:

2013-07-13 23:10:28 1072

原创 栈的链接存储结构---链栈的实现

#include using namespace std;template struct Node{ DataType data; Node *next};template class LinkStack{ private: Node *top; public: LinkStack(){  top=0;  }   ///构造函数,初始化一个空

2013-07-13 21:41:57 1073

原创 两栈共享空间

#include using namespace std;const int StackSize=100;template class BothStack{ private: int data[StackSize];  ///存放两个栈的数组 int top1,top2;  ///两个栈的栈顶指针,分别为各自栈顶元素在数组中的下标 public: Bot

2013-07-13 18:27:27 827

原创 栈的顺序存储结构---顺序栈的实现

#include using namespace std;const int SeqStackSize=100;template class SeqStack{ private: int data[SeqStackSize]; int top; public: SeqStack(){  top=-1;  }  ///构造函数,初始化一个空栈 ~Seq

2013-07-13 17:44:05 885

原创 单链表的插入(单链表)

1.题目: Problem Description建立单链表,在第n个结点后插入指定结点,并完成遍历操作。 Input输入数据有多组,每组数据占两行:第一行有两个数字(n,m),第一个数n表示结点位置,第二个数表示指定需插入的数。后跟单链表各结点(不会超过100),以0结束一个单链表。例如:3 51 2 3 4 5 00 0遇到0 0,结束程序。

2013-07-13 13:57:03 1379

原创 删最小值(单链表)

1.题目: Problem Description建立单链表,在第n个结点后插入指定结点,并完成遍历操作。 Input输入数据有多组,每组数据占两行:第一行有两个数字(n,m),第一个数n表示结点位置,第二个数表示指定需插入的数。后跟单链表各结点(不会超过100),以0结束一个单链表。例如:3 51 2 3 4 5 00 0遇到0 0,结束程序。

2013-07-12 13:25:52 2593

原创 单链表的遍历与长度计算(单链表)

1.题目: Problem Description建立单链表,完成遍历操作,并且计算单链表结点长度。 Input输入数据有多组。每行数字表示单链表的结点(不会超过100),以0结束一个单链表;例如:1 2 3 4 5 0 代表一个长度为5的单链表。遇到-1,结束程序。 Output输出该单链表的长度,并且输出的单链表。 Sample Input

2013-07-11 19:14:56 3855

原创 线性表的链接存储结构(单链表)的实现

#include using namespace std; template struct Node{ DataType data; Node * next;}; template class LinkList{ private:    Node * first; public: LinkList(); LinkList(Data

2013-07-10 16:52:55 1118

原创 线性表的存储结构---顺序表的实现

#include using namespace std;const int MaxSize=100;template class Seqlist{private: DataType data[MaxSize]; int length;public: Seqlist(){length=0;}//无参数构造函数 Seqlist(DataType a[],int

2013-07-09 14:03:51 851

原创 MV

1.http://v.youku.com/v_show/id_XNTQ2MTUxMTQw.html?qq-pf-to=pcqq.group《错的人》闽南师范大学 2.http://v.youku.com/v_show/id_XNTIyNzgxNjQ4.html视频: 《给我一个理由忘记》中国传媒大学南广学院 3.http://v.youku.com/v_show/id_

2013-06-21 18:01:26 855

原创 句子

1.此河段常年招生录取率高,请远离。

2013-06-10 13:55:19 980

原创 运算符重载——重载+和-对复数类对象进行加减运算

1.题目: Problem Description定义一个复数类,该类包含两个double型的数据成员代表复数的实部和虚部,包含构造函数(默认值为0,0),和显示函数,现重载运算符+和-,使其能对复数类对象进行加和减运算。在主函数中进行测试 Input输入数据有多行,每行包括4个数,前两个代表参与运算的第一个复数对象的实部和虚部,后两个代表第二个复数对象的实部和虚部。

2013-06-09 13:14:05 5325 1

原创 时钟类

1.题目: Problem Description定义一个时钟类(Clock),含三个整形元素(H,M,S)分别代表小时,分钟,秒,构造初始化数据函数,另外,定义一个函数实现两个时钟相加,一个显示函数,输出格式为H:M:S Input输入数据有多组,每组两行,第一行输入三个整数:h1(0=0),m2(0 Output每组输出占一行,输出现在电子钟上显示的时间

2013-06-08 14:58:42 1666 1

原创 hdu2772Matchsticks

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2772题意:根据所给火柴的数目,算出最小最大的数字。感想:其实,这种题目,想用穷举法列出来,多列些例子,看看有没有什么规律。额,代码有点长,但是不难理解。参考代码:#include int main(){    int t,n,min,max_1,max_2,min_1,mi

2013-06-07 14:02:25 935

原创 hdu2946Letter Cookies

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2946题意:给出字母库,求是否能够拼出单词。感想:第一次做的时候没看懂题意,还以为有两组测试数据,结果后来才知道只有一组,坑爹啊!参考代码:#include #include using namespace std;int main(){    int t,i,j,k

2013-06-07 13:58:52 967

原创 hdu4229Vive la Difference!

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4229题意:将4个数进行这样子的一系列的变化:|a-b| |b-c| |c-d| |d-a|,直到4个数都变成相同为止,求出变化的次数。感想:坑爹啊,第一次做的时候老是讲那四个数改变,结果老师得不出答案来,哎……参考代码:#include #include using names

2013-06-07 13:53:58 918

原创 软件工程

软件工程A软件工程毕业之后一般做什么?近几年的就业率和收入怎么样,能不能说一下你们毕业班的情况?毕业找工作啊。做software的developer或者tester,当然,也不局限于此。很多方向都可以的。也有打算读博士的。软件工程的领域还是比较广的。我们班,毕业的人,你是指本科吧。在软件企业的居多,当然也有,去政府机关的。还有去欧莱雅的,出国的。 (北京航天航空大学)我们专业就是编

2013-06-06 21:58:37 5699

原创 异常——排除表达式的异常

题目: Problem Description设有表达式 (a+b/c),对其开根号,计算表达式的值,要求能排除除数为0及根号小于0的异常。 Input输入数据有多组。 Output对于每组输入数据,输出占两行(具体输出格式参见输出样例) Sample Input5 -100 223 35 043 75 15 Sample Out

2013-06-06 19:19:10 1028

原创 死亡之ping

一般玩电脑的对这个PING命令很熟悉。首先说一下什么是ping。ping是windows自带的一种命令工具。一般是用来检测网络是否通畅,是否存在网络连接问题等。那怎样运用呢?以WinXP为例,在一种叫做命令提示符的窗口中运行。(在Win9x中叫DOS窗口)单击“开始”,点击“运行”,输入“CMD”,打开命令提示符。先说几个简单的。1.ping自己的主机IP.例如本机IP地址为:172.16

2013-06-06 18:39:38 15043 2

原创 hdu4530小Q系列故事——大笨钟

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4530题意:       中文题目,就是求3种情况的的值。参考代码:#include double x,k;int main(){ int t,q,temp; double ans;  double run1(); double run2(); dou

2013-06-02 15:29:14 875

原创 hdu2028Lowest Common Multiple Plus

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2028题意:         中文题目,意思很明白就是求多个数的最小公倍数。参考代码一:#include using namespace std;int gcd(int a,int b){ if(b==0)  return a; else  return gcd(

2013-06-02 14:00:56 806

原创 KMP字符串模式匹配详解

KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一. 简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int pos ){/* 若串 S 中从第pos(S 的下标0≤pos起

2013-06-01 21:26:33 835

原创 hdu2203亲和串

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2203 题意:       中文题,意思很清楚。        方法貌似有好多种。参考代码:#include #include int main(){ char a[100001],b[100001],t[100001];  while(gets(a))

2013-06-01 20:41:55 873

原创 hdu2524矩形A + B

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2524题意:        中文题,应该很容易知道什么意思吧,这里就不在解释了。        这题主要是要抓住关键点,什么是关键点,想想,构成矩形的元素是长和宽,所以就单独考虑长,单独考虑宽。就长n来说,拿第一行的那断长拉说,要构成矩形长的总数其实就是在其上找线段,很容易得出线段的总数为(

2013-06-01 19:37:31 817

原创 hdu1037Keep on Truckin'

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1037题意:       这道题,抽象成数学问题其实就很简单,就是给3个数,如果这3个数有一个数或者一个数以上小于3个数的平均数,这种情况就输出“CRASH”加那些小于平均数的最小的数,否者输出“NO CRASH”。参考代码:#include #include using nam

2013-06-01 19:09:15 869

原创 LP的决策

题目: Problem Description现在很多同学都迷上了LOL,每天都往机房跑。已知机房的收费标准是1元/小时(不足一小时按照一小时计算)。机房BOSS LP特别推出了优惠方案(害人不浅)只要一天之内在机房实际总时间(即真正上机时间)每超过5个小时,就会自动在其账户充值1元,已知每个人的起始账户都是50元。。现在要知道一天内每次上完机后的账户信息。(要求用类完成)

2013-05-29 04:22:25 1047

原创 数列中n个整数排序

题目:数列中n个整数排序 Problem Description设计一个包含size个数的数列,要求能够把从指定位置x开始的y个数排列成降序,并输出新的完整的数列。可将数列存放在一维数组中。例如,原来列有10个数,值为{1,8,3,0,5,9,7,6,9,8},若要求把从第4个数开始的5个数排成降序,则得到的新数列为{1,8,3,9,7,6,5,0,9,8}。试

2013-05-28 13:42:26 1736

原创 VC6.0 error LNK2001: unresolved external symbol _main

学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。  初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为:  unre

2013-05-28 10:58:24 875

原创 hdu2030汉字统计

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2030题意:很清楚,就是求汉子的个数。           这里我们要明白的是汉子的机内码是怎么一回事。           其实,汉子机内码在计算机内的表达方式是使用两个字节,每个字节最高位为1,计算机中,补码第一位是符号位,1表示负数,所以汉子机内码的每个字节表示的十进制数都是负数。

2013-05-27 23:39:50 854

原创 RunTime Error运行时错误产生的原因都有哪些?

1. Floating Point Error,这是因为你的程序出现了除法运算中除数为0的情况2. Segmentation Fault,段错误,引发段错误的原因主要的又可以分成2点:     (1)buffer overflow缓冲区溢出,缓冲区溢出一般就是你的程序中数组开小了,产生了越界访问,比如定义int a[100];此时你引用了a[1000]就很可能出现运行时错误。“缓冲区”一般

2013-05-27 08:46:24 10391

原创 Memory Limit Exceeded超内存,怎么避免呢?

通常一个题目超内存的可能性不大,一般的题目对内存的要求并不是很严格,所以出现超内存的情况还是很少的。但并不是没有,出现超内存时我们需要对自己的程序的空间复杂度进行优化,此处的空间复杂度是与时间复杂度相对应的,你可以在算法导论中查看它具体的定义。避免的方法只能是跟据题目所给出的数据范围,看一看数组开辟的能不能再小一些,或者更改算法以使用更小的内存。

2013-05-26 20:00:18 17126

原创 Time Limit Exceeded是超时,该如何避免呢?

超时的一个主要原因是算法时间复杂度太高,此时应考虑选用合理的数据结构降低你的程序的时间复杂度,或者更换算法。我们做过的每一个题都有一个时间限制,通常是1000MS,即1秒,也有2秒,5秒,10秒的题。而每一个题的数据范围题目会事先说明,比如n

2013-05-26 19:59:14 9356

原创 Presentation Error是由哪些字符引起的?

主要看换行和空格。            这个错误和CE错误我觉得是最不该发生的。PE错误通常是由于空白符的多或少输出导致。所谓空白符是指如下的几个:’\r’, ‘\n’, ‘\t’, ‘ ‘,它们分别叫回车、换行、水平制表、空格。也就是说你的程序多输出或者少输出这几个字符就会产生PE的结果,出现PE基本可以认为你的程序是对了,只要稍加调试这些东西就可以AC了。当然针对那些让你排版的题目除外,

2013-05-26 19:57:21 2218

原创 Compile Error产生的可能原因

1. 变量未定义就使用,或定义后使用位置超出了定义的作用域说明:如b=25但程序并未在使用前定义好b的类型,还应注意变量作用域。2. 括号不匹配说明:()、[]、{}一定要有始就得有终3. 使用非法类型说明:如__int64在GCC编译器下不识别,你却用它4. 需少分号说明:忘了语句以一个分号结束5.用函数未引头文件说明:如printf函数在G++中未包含std

2013-05-26 19:53:05 31501 4

原创 error C2143: syntax error : missing ';' before '<class-head>'

问题:       关于error C2143: syntax error : missing ';' before '' 这个错误及解决方法。解释:     这句话的意思就是在类的前面少加了“;”。错误代码:#include using namespace std;#define maxsize 100typedef int Datetypeclass s

2013-05-25 21:54:08 9791

原创 数组重载加减

题目:数组重载加减Time/Memory Limit:1000 MS/32768 KSubmitted: 38 Accepted: 22 Problem Description定义一个shuzu类,编写一个程序,含有默认构造函数(将数组每个元素初始为0),构造函数,用成员函数运算符重载“+”和“-”,实现将两个一维数组相加和相减。 Input

2013-05-23 23:34:45 1878

原创 统计学生人数和成绩(静态)

题目:统计学生人数和成绩 Problem Description定义一个Student类记录学生的学号和C++课程的成绩。要求使用静态成员变量和静态成员函数计算全班学生C++课程的总成绩和平均成绩。 Input输入每个学生的学号和成绩,每个学生的信息占一行,直到文件结束。 Output输出包括两行,第一行全班人数和总成绩,用空格隔开;第二

2013-05-23 18:49:14 5018

原创 堆排序

堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆  堆实际上是一棵完全二叉树,其任何一非叶节点满足性质:  Key[i]=Key[2i+1]&&key>=key[2i+2]  即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。  堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>=key[2i+2]称为大顶堆,满足 Key[i

2013-05-23 16:33:19 800

CollWeather

《第一行代码》最后一章酷欧天气的源码。

2016-11-04

用鼠标画矩形的win32代码

#include "stdafx.h" #include "1208000514.h" #define MAX_LOADSTRING 100 // 全局变量: HINSTANCE hInst; // 当前实例 TCHAR szTitle[MAX_LOADSTRING]; // 标题栏文本 TCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口类名 // 此代码模块中包含的函数的前向声明: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); ………………

2014-04-13

ACM做题时的小技巧

ACM的,你懂得 ACM做题过程中的一些小技巧。 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout、cin和printf、scanf最好不要混用。 大数据输入输出时最好不要用cin、cout,防止超时。 2.有时候int型不够用,可以用long long或__int64型(两个下划线__)。 值类型表示值介于 -2^63 ( -9,223,372,036,854,775,808) 到2^63-1(+9,223,372,036,854,775,807 )之间的整数。 printf("%I64d",a); //__int64 一般VC编译器使用(虽然有的OJ用g++,但是动态链接库用的windows的,所以要用%I64d输入输出) printf("%lld",a); //long long 一般g++编译器使用 3.OJ判断是只看输出结果的,所以不要要多余的提示输出。 所以大部分题处理一组数据后可以直接输出,就不需要用数组保存每一个Case的数据。 while(case--) { scanf(...); ...... printf(...); } 4.纯字符串用puts()输出。 数据大时最好用scanf()、printf()减少时间。 先用scanf(),再用gets()会读入回车。所以在中间加一个getchar(); scanf("%c%c",&c1,&c2)会读入空格;建议用%s读取字符串,取第一个字符。 5. 读到文件的结尾,程序自动结束 while( ( scanf(“%d”, &a) ) != -1 ) while( ( scanf(“%d”, &a) ) != EOF) while( ( scanf(“%d”, &a) ) == 1 ) while( ~( scanf(“%d”, &a) ) ) 读到一个0时,程序结束 while( scanf(“%d”, &a) , a) while( scanf(“%d”, &a)!=EOF && a) 读到多个0时,程序结束 while( scanf(“%d%d%d”, &a, &b, &c), a+b+c ) //a,b,c非负 while( scanf(“%d%d%d”, &a, &b, &c), a|b|c ) 6.数组定义int a[10] = {0};可以对其全部元素赋值为0; 数组太大不要这样,防止CE。 全局变量,静态变量自动初始化为0; 函数中定义的变量存储在栈空间中,数组太大需要定义为全局变量(存储在堆空间中)。 7.有很多数学题是有规律的,直接推公式或用递归、循环。 8.圆周率=acos(-1.0) 自然对数=exp(1.0) 9.如果要乘或除2^n,用位移运算速度快。a>>n;a<b?a:b; } int gcd(int m,int n) { return n?gcd(n,m%n):m; } int abs(int a) { return an; } sort(a,a+n,cmp); 14.有的题数据范围小但是计算量大可以用打表法 先把结果算出来保存在数组里,要用时直接取出来。 15.浮点数比较时最好控制精度 #define eps 1e-6 fabs(a-b)<eps 16.有些字符串与整型的转换函数是非标准的 可以使用sscanf()和sprintf()代替 sscanf(s,"%d",&n);//从字符串s中读入整数n sprintf(s,"%d",n);//将n转换为字符串s

2013-04-20

空空如也

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

TA关注的人

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