随笔分类 -  NOIP基础过关

NOIP常用的一些基础知识,必须掌握的有是很重要的一些基本技巧和方法。是NOIP的必备知识。
摘要:1.1 泛型程序设计简介 泛型程序设计,简单地说就是使用模板的程序设计法。将一些常用的数据结构(比如链表,数组,二叉树)和算法(比如排序,查找)写成模板,以后则不论数据结构里放的是什么对象,算法针对什么样的对象,则都不必重新实现数据结构,重新编写算法。 总而言之,不多赘述,有了STL,不必再从头写大 阅读全文
posted @ 2016-04-14 15:45 九江镇中 阅读(312) 评论(1) 推荐(1) 编辑
摘要:二叉树常用存储结构,采用链表:struct node{ int value; node *leftchild, *rightchild; //int id; // 结点编号。 //node *parent; // 指向父亲结点。} arr[N];int top=-1;node * head ... 阅读全文
posted @ 2016-01-11 21:04 九江镇中 阅读(406) 评论(3) 推荐(0) 编辑
摘要:在noip中,宏还是被经常采用,所以这里讲一下,C++中宏的定义与用法第一种用法——配合条件编译:#define DEBUG定义一个叫DEBUG的标识符。它应该与#ifdef或#ifndef配合使用。举例如下:#define DEBUG#ifdef DEBUG void print(int v) {... 阅读全文
posted @ 2016-01-11 20:49 九江镇中 阅读(1994) 评论(0) 推荐(0) 编辑
摘要:对数组进行排序,在c++中有库函数帮我们实现,这们就不需要我们自己来编程进行排序了。(一)为什么要用c++标准库里的排序函数Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复... 阅读全文
posted @ 2016-01-11 20:01 九江镇中 阅读(106021) 评论(3) 推荐(7) 编辑
摘要:数组的整体操作:头文件:Ÿ将a[]初始化:memset(a,0, sizeof(a));第二个参数应该传入0、-1或0x7F。传入0或-1时,a[]中每个元素的值都是0或-1;如果传入0x7F时,那么a[]中每个元素的值都是0x7F7F7F7F(不是0x7F!),可认为是“无穷大”。Ÿ将a[]整体复... 阅读全文
posted @ 2016-01-05 16:49 九江镇中 阅读(794) 评论(0) 推荐(0) 编辑
摘要:(1) 使用标准输入/输出头文件:变量约定:FILE *fin, *fout;——fin、fout分别代表输入文件和输出文件。把它们换成stdin和stdout,就是从屏幕输入和从屏幕输出。“1.5 字符串操作”也使用了同样的变量。输出字符串或变量的值:printf("格式字符串", ……);或fp... 阅读全文
posted @ 2016-01-05 16:33 九江镇中 阅读(353) 评论(0) 推荐(0) 编辑
摘要:结构体Ÿ 结构体用struct定义。例如下面代码定义了一个叫pack的结构体,它有两个成员,一个叫value,另一个叫weight。struct pack{ int value, weight;};Ÿ 变量可以定义成上面的pack类型:pack p; // 不必写成struct pack p;Ÿ ... 阅读全文
posted @ 2016-01-05 16:26 九江镇中 阅读(190) 评论(0) 推荐(0) 编辑
摘要:字符串操作头文件:。printf和scanf在中,cin和cout在头文件中且位于std命名空间内。下面假设待处理的字符串为str和str2,即:char str[MAX], str2[MAX];牢记,字符串的最后一个字符一定是'\0'。如果字符串内没有'\0',进行以下操作(输入除外)时可能会造成... 阅读全文
posted @ 2016-01-04 23:01 九江镇中 阅读(226) 评论(0) 推荐(0) 编辑
摘要:数组 1. 定义一个一维数组:int a[10]; 这个数组一共10个元素,下标分别为0~9。访问某个元素时,直 a加方括号,如 a[5]。 2. 定义一个二维数组:int b[5][3]; 这个数组一共5 3=15个元素,分别是 b[0][0]、b[0][1]、b[0][2]、b[1][0]…... 阅读全文
posted @ 2016-01-04 09:20 九江镇中 阅读(181) 评论(0) 推荐(0) 编辑
摘要:1、while语句:如果条件成立,就继续循环,直到条件不成立为止。格式如下: while (条件) { 循环体(语句或语句块) } 2、do…while语句:如果条件成立,就继续循环,直到条件不成立为止。它与while的最大区别在于,do…while循环中的语句... 阅读全文
posted @ 2015-12-28 16:33 九江镇中 阅读(636) 评论(3) 推荐(0) 编辑
摘要:if语句是实现分支结构的常用分支语句之一,另外还有条件运算符、switch语句等。if语句的功能是:根据给定条件,选择程序执行方向。if语句的基本格式“if语句”又称条件语句,其基本格式为: if(表达式) 语句1; else 语句2;其中:表达式——条件表达式,可以是C++中任意合法表达式,如算... 阅读全文
posted @ 2015-12-28 15:49 九江镇中 阅读(4016) 评论(0) 推荐(0) 编辑
摘要:一个简单的C++程序:#include //头文件,因为输入cin,输出cout需要iostream using namespace std; //C++标准程序库中的所有标识符都被定义于一个名为std的namespace中int main() //定义主函数,main... 阅读全文
posted @ 2015-12-28 15:35 九江镇中 阅读(367) 评论(0) 推荐(0) 编辑
摘要:以下两行表示n=p1a1 p2a1 …pnan ,其中p1 、p2 …pn 是n的质因数,a1、a2…an表示相应质因数个数。实现程序:#includeusing namespace std;const int N=1000; //便于定义数组大小 int n; int p[N], a[N]... 阅读全文
posted @ 2015-12-21 17:14 九江镇中 阅读(254) 评论(1) 推荐(1) 编辑
摘要:素数在小学数学也叫质数方法:所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除。因此判断一个整数m是否是素数,只需把m被2~m-1之间的每一个整数去除,如果都不能被整除,那么m就是一个素数。 另外判断方法还可以简化。m不必呗2~m-1之间的... 阅读全文
posted @ 2015-12-21 15:49 九江镇中 阅读(335) 评论(0) 推荐(1) 编辑
摘要:方法:利用最大公因数来求最小公倍数原理:两个数的最大公因数与最小公倍数的乘积等于这两个数的积。数学式表达:a*b=gcd(a,b)*lcm(a,b);说明:gcd(a,b)为a,b两数的最大公因数,lcm(a,b)为a,b两数的最小公倍数.代码实现:#includeusing namespace s... 阅读全文
posted @ 2015-12-21 11:39 九江镇中 阅读(396) 评论(0) 推荐(1) 编辑
摘要:设两数为a、b(a>b),求a和b最大公因数(a,b)的步骤如下: 用a除以b,得a÷b=q......r1(0≤r1)。若r1=0,则(a,b)=b;若r1≠0,则再用b除以r1,得b÷r1=q......r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r1除以r2,... 阅读全文
posted @ 2015-12-21 10:30 九江镇中 阅读(3668) 评论(0) 推荐(1) 编辑