CSPNOIP复习资料数学知识.docx
- 文档编号:29531457
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:26
- 大小:222.47KB
CSPNOIP复习资料数学知识.docx
《CSPNOIP复习资料数学知识.docx》由会员分享,可在线阅读,更多相关《CSPNOIP复习资料数学知识.docx(26页珍藏版)》请在冰豆网上搜索。
CSPNOIP复习资料数学知识
第七章信息奥赛中的数学知识
一、逻辑代数
1、“与”运算(“·”,“∧”,and)
在逻辑问题中,如果决定某一事件发生的多个条件必须同时具备,事件才能发生,则这种因果关系称之“与”逻辑(并且)。
“与”运算又称为逻辑乘,其运算符号为“·”,有时也用“∧”表示。
两变量“与”运算关系可表示为:
F=A·B或者F=A∧B
“与”运算的运算法则为:
0·0=01·0=0
0·1=01·1=1
其中,1表示真,0表示假。
结论:
若A、B均为1,则F为1;否则,F为0
推广:
A·0=0A·1=A
2、“或”运算(“+”,“∨”,or)
在逻辑问题的描述中,如果决定某一事件是否发生的多个条件中,只要有一个或一个以上条件成立,事件便可发生,则这种因果关系称之为“或”逻辑。
“或”运算又称逻辑加,其运算符号为“+”,有时也用“∨”表示。
两变量“或”运算的关系可表示为:
F=A+B或者F=A∨B
“或”运算的运算法则为:
0+0=01+0=1
0+1=11+1=1
结论:
仅当A、B均为0时,F才为0
推广:
A+0=AA+1=1
3.“非”运算¬
在逻辑问题中,如果某一事件的发生取决于条件的否定,即事件与事件发生的条件之间构成矛盾,则这种因果关系称为“非”逻辑。
“非”运算也叫求反运算或者逻辑否定。
其运算符号为“-”,有时也用“¬”表示。
“非”运算的逻辑关系可表示为:
“非”运算的运算法则为:
¬0=1¬1=0
逻辑运算和C++中的逻辑运算相似,只不过符号不同而已。
逻辑代数的运算符和C++的运算符有如下对应关系:
┓或not对应!
(非运算)
∨或+或or对应||(或运算)
∧或·或and对应&&(与运算)
它们的运算顺序和C++中的规定是一致的,“非”优先级最高,“或”最低。
例题:
下列逻辑运算正确的是()。
A、A·(A+B)=AB、A+(A·B)=AC、A·(B+C)=A·B+A·C
D、A+(B·C)=(A+B)·(A+C)E、A+1=A
练习:
1.设A=true,B=false,C=true,D=false,以下逻辑运算表达式值为真的是()。
A.(A∧B)∨(C∧D∨A)B.((A∧B)∨C)∧D
C.(B∨C∨D)∧D∧AD.A∧(D∨C)∧B
2.设A=B=true,C=D=false,以下逻辑运算表达式值为假的有()。
A.(¬A∧B)∨(C∧D∨A)B.¬(((A∧B)∨C)∧D)
C.A∧(B∨C∨D)∨DD.(A∧(D∨C))∧B
4.C++中的位运算
位运算就是指对数据进行二进制位的运算。
位运算的操作数,只能是整型或字符型数据,不能为实型数据。
C++提供的位运算有:
名称
运算符
名称
运算符
按位与
&
按位异或
^
按位或
¦
左移
<<
取反
~
右移
>>
(1)按位与运算(&)
将2个参加运算的操作数先转换成二进制数(补码),然后逐位运算,对应位都为1时,则该位的结果为1,否则为0,即:
0&0=00&1=01&0=01&1=1
例:
3&5=1
3的补码:
00000011
5的补码:
00000101
3&500000001
使用按位与运算可将一个数中的某些指定位清零如:
a:
0010110010101100
b:
0000000011111111(377)8
a&b0000000010101100
结果得到a的低8位
(2)按位或运算(¦)
运算规则:
参加运算的两个运算量之对应位,只要有一个为1,则该位的结果为1。
即:
0¦0=00¦1=11¦0=11¦1=1
例:
00110000(060)8
00001111(017)8
¦00111111(077)8
一个数与017进行按位或运算,可将该数的低4位全置为1;与0377进行按位或运算,可将该数的低8位全置为1。
(3)异或运算(^)
参加运算的两个运算量的对应位相同,则该位的结果为0。
否则为1。
即:
0^0=00^1=11^0=11^1=0
异或运算可使指定的位翻转,如:
01111010
^00001111对应原数的低4位均置为1
01110101原数的低4位被翻转
(4)取反运算(~)
对一个二进制数按位取反,即将0变为1,1变为0。
例如:
a的补码:
0000110010010011
~a1111001101101100
按位取反运算主要用途是间接构造一个数,以增强程序的可移植性。
例如,通过求~0,可以间接地构造一个各位全1的二进制数。
(5)按位左移运算(<<)
将一个操作数先转换成二进制数,然后将二进制数各位左移若干位,并在低位补若干个0,高位左移后溢出,舍弃不起作用。
按位左移n位相当于将操作数乘以2n。
例如:
7<<2按位左移表达式的值:
28
(6)按位右移运算(>>)
按位右移运算将一个操作数先转换成二进制数,然后将二进制数各位右移若干位,移出的低位舍弃;并在高位补位,补位分2种情况:
①若为无符号数,右移时左边高位移入0。
②若为有符号数,如果原来符号位为0(正数),则左边补若干0;如果原来符号位为1,左边补若干0的称为“逻辑右移”,左边补若干1的称为“算术右移”。
例:
a:
1001011111101101(113755)8
逻辑右移a>>1:
0100101111110110得(045766)8
算术右移a>>1:
1100101111110110得(145766)8
按位右移一位相当于除以2,右移n位相当于除以2n。
练习:
为了统计一个非负整数的二进制形式中1的个数,代码如下:
intCountBit(intx)
{
intret=0;
while(x)
{
ret++;
___________;
}
returnret;
}
则空格内要填入的语句是()。
A.x>>=1B.x&=x-1C.x|=x>>1D.x<<=1
提示:
一个无符号二进制数减1,相当于将该数从低位开始的第1个不是0的位及其以后的各位0变反。
如:
110101100-1=110101011。
二、排列组合
1.乘法原理
设完成一件事有m个步骤,第一个步骤有
种方法,第二个步骤有
种方法,…,第m个步骤有
种方法。
必须通过每一步骤,才算完成这件事,则完成这件事共有
种不同的方法。
例1:
若一个男人有三顶帽子和两件背心,问他可以有多少种打扮?
可以有
种打扮。
例2:
从甲地到乙地有2条路,从乙地到丙地有3条路,从丙地到丁地也有2条路。
问:
从甲地经乙、丙两地到丁地,共有多少种不同的走法?
2×3×2=12种走法
2.加法原理
设完成一件事有m种方式,第一种方式有
种方法,第二种方式有
种方法,…,第m种方式有
种方法。
无论通过哪一种方式的哪一种方法都能完成这件事,则完成这件事共有
种不同的方法。
例如,某人要从甲地到乙地去,可以乘火车,可以乘轮船,也可以坐飞机。
火车有3个班次,轮船有2班,而飞机则只有一班。
问乘坐不同班次的火车、轮船或是飞机,共有多少种不同方法可从甲地到达乙地?
答案当然是3+2+1=6种方法。
乘法原理和加法原理是两个很重要计数原理,它们不但可以直接解决不少具体问题,同时也是推导下面常用排列组合公式的基础。
练习:
下图中从A到C共有多少中走法?
3.排列
一般地,从n个不同的元素中任取出m个(m≤n)元素,按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列。
由排列的定义可以看出,两个排列相同,不仅要求这两个排列中的元素完全相同,而且各元素的先后顺序也一样,如果两个排列的元素不完全相同,或者各元素的排列顺序不完全一样,则这就是两个不同的排列。
从n个不同元素中取出m个(m≤n)元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,记作
。
排列数公式:
从n个不同元素取m个(1 m=n时称全排列: 例: 如下图所示,n=4,m=3时,四个元素分别为A、B、C、D,则第一个位置可以有4中选择,第一个位置一旦选定,第二个位置就只剩下3中选择了,前两个位置定了,第三个位置则只有2中选择了。 由乘法原理,排列数为 种 例1: 学校师生合影,共8个学生,4个老师,要求老师在学生中间,且老师互不相邻,共有多少种不同的合影方式? 解: 先排学生共有 种排法,然后把老师插入学生之间的空档,共有7个空档可插,选其中的4个空档,共有 种选法.根据乘法原理,共有的不同坐法为 种. 结论1插入法: 对于某两个元素或者几个元素要求不相邻的问题,可以用插入法。 即先排好没有限制条件的元素,然后将有限制条件的元素按要求插入排好元素的空档之中即可。 例2: 5个男生3个女生排成一排,3个女生要排在一起,有多少种不同的排法? 解: 因为女生要排在一起,所以可以将3个女生看成是一个人,与5个男生作全排列,有 种排法,其中女生内部也有 种排法,根据乘法原理,共有 种不同的排法。 结论2捆绑法: 要求某几个元素必须排在一起的问题,可以用捆绑法来解决问题.即将需要相邻的元素合并为一个元素,再与其它元素一起作排列,同时要注意合并元素内部也可以作排列。 例3: 袋中有不同年份生产的5分硬币23个,不同年份生产的1角硬币10个,如果从袋中取出2元钱,有多少种取法? 分析: 此题是一个组合问题,若是直接考虑取钱的问题的话,情况比较多,也显得比较凌乱,难以理出头绪来.但是如果根据组合数性质考虑剩余问题的话,就会很容易解决问题。 解: 把所有的硬币全部取出来,将得到 0.05×23+0.10×10=2.15元, 所以比2元多0.15元,所以剩下0.15元即剩下3个5分或1个5分与1个1角,所以共有 种取法。 结论3剩余法: 在组合问题中,有多少取法,就有多少种剩法,他们是一一对应的,因此,当求取法困难时,可转化为求剩法. 例4: 学校安排考试科目9门,语文要在数学之前考,有多少种不同的安排顺序? 分析对于任何一个排列问题,就其中的两个元素来讲的话,他们的排列顺序只有两种情况,并且在整个排列中,他们出现的机会是均等的,因此要求其中的某一种情况,能够得到全体,那么问题就可以解决了.并且也避免了问题的复杂性。 解: 不加任何限制条件,整个排法有 种,“语文安排在数学之前考”,与“数学安排在语文之前考”的排法是相等的,所以语文安排在数学之前考的排法共有 结论4对等法: 在有些题目中,它的限制条件的肯定与否定是对等的,各占全体的二分之一。 在求解中只要求出全体,就可以得到所求。 例5: 某个班级共有43位同学,从中任抽5人,正、副班长、团支部书记至少有一人在内的抽法有多少种? 分析: 此题若是直接去考虑的话,就要将问题分成好几种情况,这样解题的话,容易造成各种情况遗漏或者重复的情况.而如果从此问题相反的方面去考虑的话,不但容易理解,而且在计算中也是非常的简便.这样就可以简化计算过程。 解: 43人中任抽5人的方法有 种,正副班长,团支部书记都不在内的抽法有 种,所以正副班长,团支部书记至少有1人在内的抽法有 种。 结论5排异法: 有些问题,正面直接考虑比较复杂,而它的反面往往比较简捷,可以先求出它的反面,再从整体中排除. 4.圆周排列 从n个不同的元素中取r个沿一圆周排列,排列的方案: N个元素的圆周排列: 5.有重复元素的排列问题: 如: n1个a,n2个b,n3个c,排成一排,有多少种排列方法。 6.组合 一般地,从n个不同元素中取出m个(m≤n)元素组成一组不计较组内各元素的次序,叫做从n个不同元素中取出m个元素的一个组合。 由组合的定义可以看出,两个组合是否相同,只与这两个组合中的元素有关,而与取到这些元素的先后顺序无关.只有当两个组合中的元素不完全相同时,它们才是不同的组合。 从n个不同元素中取出m个元素(m≤n)的所有组合的个数,叫做从n个不同元素中取出m个不同元素的组合数.记作 。 组合数公式: 从n个不同元素取m个(1m 求从n个不同元素中取出m个元素排成一列的排列数 可以分两步求得: 第一步: 从n个不同元素中取出m个元素组成一组,共有 种方法; 第二步: 将每一个组合中的m个元素进行全排列,共有 种排法. 由乘法原理得到: 因此, 7.重复元素的组合问题 从n种不同的元素中取r个元素的组合,允许有重复元素的组合: 典型模型: r个相同的小球,放到n个不同的盒子里,所有的放置方法。 例1邮局发行10种新邮票,有一个集邮爱好者购买了15张邮票,他有多少种买法? 解: 买邮票的任何一种方式都可以看做是从10个元素中取出15个元素的组合,因此买法种数为 三、集合及其运算 集合是由确定的、互相区别的一些对象组成的总体。 集合的每个对象称为元素。 如初一(11)班同学组成一个集合,里面的每个同学称为元素。 集合中的元素是确定的、互异的,又是无序的。 不含任何元素的集合叫做空集,记作 。 集合可分为有限集与无限集。 元素与集合间的关系运算: 属于符号记作“∈”;不属于,符号记作“ ”。 对于两个集合A与B,如果集合A的任何一个元素都是集合B的元素,就说集合B包含集合A,记作A B(读作A包含于B),这时也说集合A是集合B的子集。 也可以记作B A(读作B包含A)。 ①子集有传递性,若A B,B C,则有A C. ②空集 是任何集合的子集,即 A ③真子集: 若A B,且至少有一个元素b∈B,而b A,称A是B的真子集.记作A B。 ④若A B且B A,那么A=B ⑤含n(n∈N*)个元素的集合A的所有子集的个数是: 2的n次方个。 常用的集合表示法: 列举法: 数的集合{1,3,5,7,9,11,13} 描述法: 小于14大于0的奇数组成的集合、初三 (1)班的全体同学组成的集合。 集合的运算包括并(∪)、交(∩)、差(-)、补(~或ˉ)几种。 例如,设全集I={0,1,2,3,4,5,6,7,8,9},A={2,4},B={4,5,6,7},C={0,8,9},D={1,2,3},则 A∪B={2,4,5,6,7},A∪B∪C∪D={0,1,2,3,4,5,6,7,8,9}=I A∩B={4},A-B={2},B-A={5,6,7},C-A={0,8,9},~A={0,1,3,5,6,7,8,9} 1.集合问题的图示法 集合问题可由文氏图来描述,文氏图由矩形、圆形及内部的点组成,其中矩形及其内部的点表示全集的所有元素;矩形内的圆(或其它闭曲线)表示不同的集合;圆(或闭曲线)内部的点则表示相应集合的元素。 以下是文氏图描述的集合的四种运算。 1.容斥原理 在计数时,为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是,先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。 对有限集合S,用S表示S的元素个数容斥原理的第一形式: 设A,B是有限集合,则 |A∪B|=|A|+|B|-|A∩B| 容斥原理的第二形式: 设A、B、C是有限集合,则 |A∪B∪C|=|A|+|B|+|c|-|A∩B|-|B∩C|-|A∩C|+|A∩B∩C| 例1: 某单位的100名员工进行调查,结果发现他们喜欢看球赛和电影、戏剧。 其中58人喜欢看球赛,38人喜欢看戏剧,52人喜欢看电影,既喜欢看球赛又喜欢看戏剧的有18人,既喜欢看电影又喜欢看戏剧的有16人,三种都喜欢看的有12人,则只喜欢看电影的有: A、22人B、28人C、30人D、36人 解: 设同时只喜欢电影和球赛的人数为x,由已知可知,只喜欢喜剧和球赛的有6人,只喜欢电影和戏剧的4人,如下图所示。 只喜欢电影的人数为52-(x+12+4)=36-x 只喜欢球赛的人数为58-(x+6+12)=40-x 只喜欢喜剧的人数为38-(4+12+6)=16 如下图所示,以上三个集合的总人数36-x+40-x+16再加上中间四部分的总人数4+12+6+x为100人,即 36-x+40-x+16+4+12+6+x=100,可解得x=14,因此只喜欢看电影的人数为36-14=22人。 选A。 例2: 有47本书,有27本是小说,32本是红皮的,6本既不是红皮的,也不是小说。 问有多少本红皮小说? 解: 设小说集为A,红色封面书集合为B,则|A∪B|=47-6=41,即这41本有可能是小说或是红色封面。 红色封面的非小说数量为|B-A|=|A∪B|-|A|=41-27=14本,所以后色封面的小说|A∩B|=32-14=18本。 例3: 外语学校有英语、法语、日语老师总共27人,其中只能教英语的有8人,只能教日语的有6人,能教英语、日语的有5人,能教法语、日语的有3人,能教英、法语的有4人,三种都能教的有2人,则只能教法语的有: A、4人B、5人C、6人D、7人 练习: 1.设全集I={a,b,c,d,e,f,g,h},集合B∪A={a,b,c,d,e,f},C∩A={c,d,e},A∩~B={a,d},那么集合C∩B∩A为()。 A.{c,e}B.{d,e}C.{e}D.{c,d,e}E.{d,f} 2.设含有10个元素的集合的全部子集数为S,其中由7个元素组成的子集数为T,则T/S的值为()。 A、5/32B、15/128C、1/8D、21/128 四、数论 1.整除与约数 一个整数可以被另一个整数整除是数论中的一个关键概念。 符号d|a(读作“d整除a”)的含义是,存在摸个数k,使得a=kd。 任何整数均可整除0。 如果a>0且d|a,那么|d|<=|a|。 如果d|a,则称a是d的倍数。 如果d|a且d>=0,则称d是a的约数。 注意,d|ad|a当且仅当−d|a−d|a,即a的任何约数的负数同样可以整除a。 因此,不失一般性,可规定约数为非负数。 非零整数a的约数应至少为1,且不会大于|a|。 例如,24的约数是1,2,3,4,6,8,12和24。 任何正整数a均可被平凡约数1和其自身a所整除。 整数a的非平凡约数称为a的因子。 例如,20的因子是2,4,5和10。 2.素数与合数 如果一个数a>1且只能被平凡约数1和它自身所除,则这个数是素数。 素数游戏的特殊的性质。 它在数论中也扮演着十分重要的角色。 前20个素数按序排列如下: 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71 如果一个整数a>1且不是素数,则称之为合数。 例如,39是一个合数,因为3|39。 称整数1是基本单位,并且它既不是素数也不是合数。 同样,整数0和所有负整数既不是素数也不是合数。 3.除法定理、余数和等模 给定一个整数n,我们可以将整数集划分成n的倍数和非n倍数两部分。 通过计算非n的倍数除以n的余数可以对非n倍数进行有效分类。 而许多数论理论正是通过这种分类来改进对n的北方和非n倍数的划分。 下面的定理给出该改进的理论基础。 这里,我们忽略了其证明。 定理1(除法定理): 对于任何整数a和任何正整数n,存在唯一整数q和r,满足0<=r 称q=⌊a/n为除法的商,r=amodn为除法的余数。 n|a当且仅当amodn=0。 根据整数模n的余数,我们可以将所有整数划分成n个等价类。 包括整数a的模n等价类为: [a]n=a+kn: k∈Z 例如,[3]7={…,-11,-4,3,10,17,…},这个集合同时也可以表示为[-4]7和[10]7。 a∈[b]n和a≡b(modn)是等价的。 所有这类等价类的集合是Zn=[a]n: 0<=a<=n−1,即可以用每个等价类最小的非负元素来表示该等价类。 例如,上面的[3]7。 但是,也可以用等价类中的任意数表示该等价类,例如,在我们说-1是Zn的一个元素时,实际上指的是[n−1]n,因为-1≡n-1(modn)。 4.公约数与最大公约数 如果d是a的约数并且d也是b的约数,则d是a与b的公约数。 例如,30的约数包括1、2、3、5、6、10、15、30,24的约数包括1、2、3、4、6、8、12、24,因此24与30的公约数为1、2、3和6。 需要注意的是,1是任意两个整数的公约数。 公约数的一条重要的性质是: d|a且d|b蕴含着d|(a+b)且d|(a−b) 更一般的,对于任意整数x和y,有 d|a且d|b蕴含着d|(ax+by) 并且,如果a|b,那么|a|<=|b|,或者b=0,这更说明 a|b且b|a蕴含着a=±b 两个不同时为0的整数a与b的公约数中最大的称其为最大公约数,记作gcd(a,b)。 例如,gcd(24,30)=6,gcd(5,7)=1,gcd(0,9)=0。 如果a与b不同时为0,则gcd(a,b)是一个在1与min(|a|,|b|)之间的整数。 定义gcd(0,0)=0,该定义是使gcd函数的基本性质普遍成立所必不可少的。 下列是gcd函数的基本性质: (1)gcd(a,b)=gcd(b,a) (2)gcd(a,b)=gcd(−a,b) (3)gcd(a,b)=gcd(|a|,|b|) (4)gcd(a,0)=|a| (5)gcd(a,ka)=|a|对任意k∈Z 下面的定理给出了gcd(a,b)的另外一个有用特征。 定理2: 如果任意整数a和b都不为0,则gcd(a,b)是a与b的线性组合集ax+by: x,y∈Z中的最小正元素。 推论1: 对任意整数a与b,如果d|a且d|b,则d|gcd(a,b)。 证明: 根据定理2,gcd(a,b)是a与b的一个线性组合,所以推论成立。 推论2: 对所有整数a和b以及任意非负整数n,有gcd(an,bn)=n∗gcd(a,b) 证明: 如果n=0,该推论显然成立。 如果n>0,则gcd(an,bn)是集合{anx+bny: x,y∈Z∈Z}中最小正元素的n倍。 推论3: 对于任意正整数n、a和b,如果n|ab且gcd(a,n)=1,则n|b。 证明由同学自己完成。 求最大公约数的欧几里德算法: 原理: 如果用一条线段表示最大公约数,由于两个数字都是最大公约数的倍数,因此可用多条线段来表示这两个数: 我们发现,大的数除以小的数得到的余数,仍然
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CSPNOIP 复习资料 数学知识