初赛复习内容

内容

信息学比赛

  • 全国青少年信息学奥林匹克竞赛(NOI)在 1984 年开始。
  • 国际信息学奥林匹克竞赛(IOI)在 1989 年开始。
  • 全国青少年信息学奥林匹克联赛(NOIP)在 1995 年开始。
  • APIO 在 2007 年开始。

计算机知识

  • 寄存器是中央处理器的重要组成部分
  • 程序运行时的空间复杂度是指程序运行时理论上所占的内存空间,
  • 阶码指明了小数点在数据中的位置。
  • Pascal语言,C语言和C++语言都属于 高级语言,编译性语言
  • 编译器的主要功能是将源程序翻译成指令
  • 存储器有主存和辅存,主存中有ROM和RAM,RAM在关机或停电情况下内容全部丢失,ROM不会。

原码,补码,反码

  • 原码:最高位即为符号位( 0 0 0 1 1 1负),其余位为原来的二进制。
  • 反码:正数不变,负数其符号位不变,其余位取反
  • 补码:正数不变,负数在其反码的基础上加一。

图像内存,运行内存,各种内存

1 T B = 2 10 G B = 2 20 M B = 2 3 0 K B = 2 40 B y t e 1TB=2^{10}\rm{GB}=2^{20}\rm{MB}=2^30 \rm{KB}=2^{40} \rm{Byte} 1TB=210GB=220MB=230KB=240Byte 1 B y t e = 8 B i t 1\rm{Byte}=8\rm{Bit} 1Byte=8Bit,其中 B y t e \rm{Byte} Byte为字节, B i t \rm{Bit} Bit为位。

设图片分辨率为 x × y x\times y x×y z z z位色,则内存为

x ⋅ y ⋅ z B i t x\cdot y\cdot z \rm{Bit} xyzBit

设某计算机的 C P U CPU CPU和内存之间的地址总线宽度是 x x x位( B i t \rm{Bit} Bit),最多使用的内存为 2 x B y r e 2^x\rm{Byre} 2xByre

前缀,中缀,后缀表达式

假如给式子 a + ( b × c ) − ( d + e ) a+(b\times c)-(d+e) a+(b×c)(d+e)转化

第一步:按照运算符的优先级对所有的运算单位加括号,式子变成了: ( ( a + ( b ∗ c ) ) − ( d + e ) ) ((a+(b*c))-(d+e)) ((a+(bc))(d+e))
第二步:转换前缀与后缀表达式

  • 前缀:把运算符号移动到对应的括号前面,则变成: − ( + ( a × ( b c ) ) + ( d e ) ) -( +(a \times (bc)) + (de)) (+(a×(bc))+(de)),把括号去掉:于是有前缀式子: − + a × b c + d e -+a\times bc+de +a×bc+de
  • 后缀:把运算符号移动到对应的括号后面,则变成: ( ( a ( b c ) × ) − ( d e ) + ) − ((a(bc)\times )- (de)+ )- ((a(bc)×)(de)+),把括号去掉:于是有后缀式子 a b c × − d e + − abc\times -de+- abc×de+

常见排序

排序方式平均情况最坏情况稳定性
插入排序 O ( n 2 ) O(n^2) O(n2) O ( n 2 ) O(n^2) O(n2)稳定
希尔排序 O ( n 1.3 ) O(n^{1.3}) O(n1.3)不稳定
冒泡排序 O ( n 2 ) O(n^2) O(n2) O ( n 2 ) O(n^2) O(n2)稳定
快速排序 O ( n log ⁡ n ) O(n\log n) O(nlogn) O ( n 2 ) O(n^2) O(n2)不稳定
选择排序 O ( n 2 ) O(n^2) O(n2) O ( n 2 ) O(n^2) O(n2)不稳定
堆排序 O ( n log ⁡ n ) O(n\log n) O(nlogn) O ( n log ⁡ n ) O(n\log n) O(nlogn)不稳定
归并排序 O ( n log ⁡ n ) O(n\log n) O(nlogn) O ( n log ⁡ n ) O(n\log n) O(nlogn)稳定
var
    a:array[1..4] of integer;
    i, j, temp, n:integer;
begin
   read(n);
   for i := 1 to n do read(a[i]);
   for i := 1 to n do
       for j := 1 to n-i do
           if a[j] > a[j + 1] then
               begin
                   temp := a[j];
                   a[j] := a[j + 1];
                   a[j+1] := temp;
               end;
    for i:= 1 to n do write(a[i]);
end.

一个排序,若存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变, 则这个排序稳定,反之则不稳定。

视频,图片格式

常见的视频格式有: r m rm rm r m v b rmvb rmvb w m v wmv wmv a v i avi avi m p 4 mp4 mp4 3 g p 3gp 3gp m k v mkv mkv

常见的图片格式有: j p g jpg jpg j p e g jpeg jpeg g i f gif gif p n g png png b m p bmp bmp

排列组合

排列公式

A n m = n ( n − 1 ) ( n − 2 ) … ( n − m + 1 ) = n ! ( n − m ) ! A_{n}^m=n(n-1)(n-2)\dots(n-m+1)=\frac{n!}{(n-m)!} Anm=n(n1)(n2)(nm+1)=(nm)!n!

组合公式

C n m = A n m m ! = n ! m ! ( n − m ) ! C_{n}^m=\frac{A_n^m}{m!}=\frac{n!}{m!(n-m)!} Cnm=m!Anm=m!(nm)!n!

根据这个定义发现的公式

∑ i = 0 n C n i = 2 n \sum_{i=0}^nC_n^i=2^n i=0nCni=2n

C n r + C n r + 1 = C n + 1 r + 1 C_n^r+C_n^{r+1}=C_{n+1}^{r+1} Cnr+Cnr+1=Cn+1r+1

有重复元素的排列组合:假设有 m m m个数, n n n个不同的数,分别为 a 1 , a 2 , a 3 , … , a n a_1,a_2,a_3,\dots,a_n a1,a2,a3,,an,每个数出现次数为 b 1 , b 2 , b 3 , … , b n b_1,b_2,b_3,\dots,b_n b1,b2,b3,,bn,那么本质不同的全排列方案数有

m ! ∏ i = 1 n b i \frac{m!}{\prod \limits_{i=1}^n b_i} i=1nbim!

错排公式,定义 D ( 1 ) = 0 , D ( 2 ) = 1 D(1)=0,D(2)=1 D(1)=0,D(2)=1,则

D ( n ) = ( n − 1 ) [ D ( n − 1 ) + D ( n − 2 ) ] D(n)=(n-1)\left[ D(n-1)+D(n-2)\right] D(n)=(n1)[D(n1)+D(n2)]

卡特兰

C n = ( 2 n ) ! / ( n + 1 ) ! / n ! C_n=(2n)!/(n+1)!/n! Cn=(2n)!/(n+1)!/n!

操作系统

常见电脑操作系统有: W i n d o w s Windows Windows U N I X UNIX UNIX X E N I X XENIX XENIX M a c    O S Mac\ \ OS Mac  OS

进制转化

R R R进制转十进制,将 ( 3506.2 ) 8 (3506.2)_8 (3506.2)8转化为十进制。

( 3506.2 ) 8 = 6 × 8 3 + 5 × 8 2 + + 0 × 8 1 + 6 × 8 0 + 2 × 8 − 1 = 1862.25 (3506.2)_8\\ \begin{aligned} =& 6\times 8^3+5\times 8^2++0\times 8^1+6\times 8^0+2\times 8^{-1}\\ =&1862.25 \end{aligned} (3506.2)8==6×83+5×82++0×81+6×80+2×811862.25

十进制转 R R R进制:将 ( 5.3125 ) 10 (5.3125)_{10} (5.3125)10转化为二进制数,整数部分为 ( 101 ) 2 (101)_2 (101)2,剩下 ( 0.3125 ) 10 (0.3125)_{10} (0.3125)10
( 0.3125 ) 10 0.3125 × 2 = 0.625 0.625 × 2 = 1.25 0.25 × 2 = 0.5 0.5 × 2 = 1 , 0 \begin{aligned} (0.3125)_{10}\\ 0.3125\times 2=& 0.625\\ 0.625\times 2=&1.25\\ 0.25\times 2=&0.5\\ 0.5\times 2=&1,0 \end{aligned} (0.3125)100.3125×2=0.625×2=0.25×2=0.5×2=0.6251.250.51,0

所以 ( 0.3125 ) 10 = ( 0.0101 ) 2 (0.3125)_{10}=(0.0101)_2 (0.3125)10=(0.0101)2

计算机协议

在这里插入图片描述

计算机发展历史

第一台电子计算机: E N I A C ENIAC ENIAC

第一台具有储存程序功能的的计算机: E D V A C EDVAC EDVAC

几个电子器件

  • 电子管( 1496 ∼ 1958 1496\sim 1958 14961958),第一台这样的计算机是 E N I A C ENIAC ENIAC
  • 晶体管( 1958 ∼ 1964 1958\sim 1964 19581964
  • 中小规模集成电路( 1964 ∼ 1975 1964\sim 1975 19641975
  • 大规模,超大规模集成电路( 1975 ∼ n o w 1975\sim now 1975now

逻辑运算

  • ¬表示not
  • ∧表示and
  • ∨表示or
  • ⊻或⊕表示xor

二叉树

完全二叉树指按顺序的二叉树
满二叉树是满的。

语法

@是求一个值的位置,^是这个位置的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值