由 a,b,c 三种不同的数字组成一个 7 位数,要求不出现两个 a 相邻,也不出现两个 b 相邻,这样的 7 位数的个数为( )。 A.349。 B.512。 C.577。 D.618。
for(int i=2;i<=7;i++){
dp[i][1]=dp[i-1][3]+dp[i-1][2];
dp[i][2]=dp[i-1][1]+dp[i-1][3];
dp[i][3]=dp[i-1][1]+dp[i-1][2]+dp[i-1][3];
二叉树高度是指从最下面的叶子节点到该节点的最长简单路径边的条数
深度是指从根节点到该节点的最长简单路径边的条数;
算法复杂度分析中的符号(Θ、Ο、ο、Ω、ω)简介
Θ,读音:theta、西塔;既是上界也是下界(tight),等于的意思。
Ο,读音:big-oh、欧米可荣(大写);表示上界(tightness unknown),小于等于的意思。
ο,读音:small-oh、欧米可荣(小写);表示上界(not tight),小于的意思。
Ω,读音:big omega、欧米伽(大写);表示下界(tightness unknown),大于等于的意思。
ω,读音:small omega、欧米伽(小写);表示下界(not tight),大于的意思。
NOI
全国青少年信息学奥林匹克竞赛(National Olympiad in Informatics,简称NOI)是国内包括港澳在内的省级代表队最高水平的大赛,由中国计算机学会在计算机普及较好的城市组织进行比赛。自1984开始
NOIP
全国青少年信息学奥林匹克联赛(National Olympiad in Informatics in Provinces,简称NOIP)自1995至2018年已举办24次。19年取消,20年恢复
组合数学
已知 n + 1个互不相同的正整数,它们全都小于或等于 2 n ,证明当中一定有两个数是互质的。
考虑证明:取 n 个盒子,在第一个盒子我们放 1 和 2第 n 个盒子放 2n−1 和 2 n 这两个数。如果我们在 n 个盒子里随意抽出 n + 1 个数。我们马上看到一定有一个盒子是被抽空的。而被抽空的盒子里的两个数一定是连续的,因此在我们任意选择的这 n + 1个数中必有两个数是连续数,很明显的连续数是互质的。
错位排序
f
n
=
n
∗
(
f
i
−
1
+
f
i
−
2
)
f_n=n*(f_{i-1}+f_{i-2})
fn=n∗(fi−1+fi−2)
可重复组合数
可重复组合
从 n 个不同的元素中,无序的选出 r 个元素组成一个组合,且允许这 r 个元素可以重复使用,则称这样的组合为可重复组合。 C n + r − 1 r C^r_{n+r-1} Cn+r−1r
不相邻组合数
从 A = { 1 , 2 , . . . , n } 中选取 m 个不相邻的组合,其组合数为: C n − m + 1 m C^m_{n-m+1} Cn−m+1m
卡特兰数的应用
二叉树的计数: 已知二叉树有 n nn 个结点,求能构成多少种不同的二叉树。
括号化问题: 一个合法的表达式由 () 包围,() 可以嵌套和连接,如:(())() 也是合法表达式,现给出 n 对括号,求可以组成的合法表达式的个数。
划分问题: 将一个凸 n + 2 多边形区域分成三角形区域的方法数。
出栈问题: 一个栈的进栈序列为 1 , 2 , 3 , . . n,求不同的出栈序列有多少种。
路径问题: 在 n × n的方格地图中,从一个角到另外一个角,求不跨越对角线的路径数有多少种。
握手问题: 2 n 个人均匀坐在一个圆桌边上,某个时刻所有人同时与另一个人握手,要求手之间不能交叉,求共有多少种握手方法。
信息学史及基本知识
一、信息学及计算机史
计算机的顶级奖项:图灵奖、冯·诺依曼奖
图灵奖:由ACM(美国计算机协会)设立于1966年。是“计算机界的诺贝尔奖”。
冯·诺依曼奖:由IEEE设立。
对信息科学做出突出贡献的大神:图灵(所以才有个奖),冯 · 诺伊曼
中国获图灵奖的大神:姚期智(清华就有姚班,就是以他的名字命名的)
世界第一台电子计算机:埃尼阿克(ENIAC),于1946年2月14日(够虐狗的)在美国宾夕法尼亚大学诞生。又被叫做电子管计算机。
二、关于编程
编程语言:
分两类:面向对象和面向过程。
高级语言和低级语言的区别:
高级语言需要编译运行,常数较大,运行速度慢。而低级语言常数极小,运行速度快。此外,高级语言更容易移植。
常见低级语言:
汇编
面向对象的高级语言:
C++,Java,EIFFEL,Simula 67等。
面向过程的高级语言:
C,Fortran语言。
递归编程:
递归是指一种通过重复将问题分解为同类的子问题而解决问题的方法。递归式方法可以被用于解决很多的计算机科学问题。简单来讲,就是“自身调用自身”(在函数中)。
P类/NP类/NPC类问题:
1、P类问题:如果一个问题能找到一个在多项式时间内解决它的算法,那么这个问题就是P问题。
2、NP类问题:注意:NP问题不是非P类问题,而是在多项式时间内验证一个解的问题。或者,我们可以将其理解为在多项式时间内猜出一个解的问题。
3、NPC类问题:定义如下:如果一个问题是NP问题,而且所有的NP问题都可以约化到它。那么它就是NPC类问题。再来介绍一下关于约化的定义:如果一个问题A可以约化为问题B,含义就是这个问题A可以用问题B的解法来解决。
三、关于计算机
先上张大图:
重要设备:
硬件组成:
控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。
运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。
存储器(Memory):存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。
输入设备(Input system):输入设备是计算机的重要组成部分,输入设备与输出设备合称为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。
输出设备(Output system):输出设备与输入设备同样是计算机的重要组成部分,它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。
CPU及存储:
CPU(中央处理器)=运算器+控制器+寄存器
运算器=算术逻辑运算单元(ALU)及浮点运算单元(FPU)
存储器=内存储器+外存储器
BIOS是英文"Basic Input Output System"的缩略语,直译过来后中文名称就是"基本输入输出系统"。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
随机存储器RAM的“随机”指“随时访问”
所以,我们记下来以下知识点:
断电后可以保存数据:硬盘,ROM
断电后不可以保存数据:显存(显卡内存),RAM,CPU
计算机各存储单位及进位关系:
计算机的存储单位有以下几种:
TB/GB/MB/KB/B
他们之间的进位关系为1024(这应该是常识,没打过比赛还没玩过手机么?)
特殊地,1B=8(bit),这里的bit是二进制下的一位内存。
- CCF创办时间1962年