CSP初赛篇·知识大纲(未完成)
PS.只记录个人认为的重点或者真题模拟题中出现的知识
PS.图片大多来自百度,内容借鉴百度和校本资料
信息学休闲娱乐
让我们先来认识一下几位 巨佬
(巨佬顺序按考试出现率排列,从高到低):
名字 | 生卒年 | 国籍 | 信息学主要贡献 | 称号、身份 |
---|---|---|---|---|
艾伦·麦席森·图灵 | 1912—1954 | 英 | 图灵机,图灵奖,图灵实验 | 计算机科学之父,人工智能之父 |
约翰·冯·诺依曼 | 1903-1957 | 美籍匈牙利 | 体系构想,程序存放于内存 | 计算机之父、博弈论之父 |
克劳德·艾尔伍德·香农 | 1916—2001 | 美 | 提出了信息熵的概念 | 信息论的创始人 |
姚期智 | 1946—现在 | 中 | 通讯复杂度,伪随机数生成 | 2000图灵奖,奠定现代密码学 |
艾达·拉芙蕾丝 | 1815—1852 | 英 | Ada语言(后人纪念她) | 第一个程序员,计算机程序创始人 |
关于奖项
名称 | 设立 | 设立时间 | 美称,意义 |
---|---|---|---|
图灵奖 A.M. Turing Award | 美国计算机协会(ACM) | 1966 | 计算机界诺贝尔奖 |
约翰·冯诺依曼奖 | 电气和电子工程师协会(IEEE) | 1999 | |
中国计算机学会王选奖(CCF王选奖) | 中国计算机学会 | 2005 | |
姚期智
中国人还是要多了解一点的。
图灵奖首位也是唯一一位华裔计算机学者
(对计算机理论包括伪随机数生成,密码学与通信复杂度的突出贡献)
在清华大学创立:
计算机科学实验班“姚班”
理论计算机科学研究中心(ITCS)
交叉信息研究院(IIIS)
量子信息中心(CQI)
下面放几张图灵的帅照,还有一部关于图灵的电影《模仿游戏》,强烈推荐!
注意!!除了图灵的照片和电影,上面的内容都曾经在真题或模拟题出现
进制转换(以二进制为例)
R进制转十进制:按权展开(小数,次方数取负)
十进制转R进制:整数除R取余法(倒着取),小数乘二取整法(正着取)
关于E(e)
大小写是一样的
数学上e表示2.718281828459……,但信奥里不同。
2000 === 2e3 === 2e+03 === 2e+3 ≠\neq= 2e1+3 === 23
逻辑运算
运算优先级(从高到低)
()()()
notnotnot
∗*∗ ,///,modmodmod,andandand
xorxorxor,+++,−-−,ororor
===,⩽\leqslant⩽, ⩾\geqslant⩾, <<<, >>>
与 | ∧\wedge∧ | and | 两真为真 | ∧\wedge∧符号像“且”,使a∧\wedge∧b为真,需要a为真且b为真 |
或 | ∨\vee∨ | or | 有真为真 | ∨\vee∨优先级低,且有真为真,运算中这点性质可以简化运算,遇∨\vee∨只需要判断一端 |
非 | !!!或¬¬¬ | not | 是假为真 | |
异或 | ⨁\bigoplus⨁ | xor | 不同为真 | PS.数字的逻辑运算,转化为二进制,缺位补零,垂直对应两位运算 |
PS 逻辑运算符与位运算符的区别
逻辑运算符只能用于bool型的逻辑运算,位运算符还能用于数值的逻辑运算
PS 逻辑运算与位运算的区别
位运算就是直接对整数在内存中的二进制位进行操作,它是二进制对应位进行逻辑运算的结果
栈和卡特兰数
二叉树的遍历和性质
二叉树的遍历 | 顺序 | 例子 |
---|---|---|
先序遍历 | 根,左,右 | ABCDEF |
中序遍历 | 左,根,右 | CBDAEF |
后序遍历 | 左,右,根 | CDBEFA |
应用:前缀表达式,中缀表达式,后缀表达式的转换
二叉树性质 |
---|
二叉树第 i 层至多有2i−12^{i-1}2i−1个结点数 |
深度为 k至多有2k−12^{k}-12k−1个结点 |
叶子结点数n0n_{0}n0,度为2的结点数n2n_{2}n2,n0 = n2 + 1 |
证明:设n1为度数为1,n2为度数为2,n0为叶子结点数,n为结点数
n1+n2+n0=nn1 + n2 + n0 = nn1+n2+n0=n
1+2∗n2+n1=n1 + 2*n2 + n1 = n1+2∗n2+n1=n
所以n0=n2+1n0 = n2 + 1n0=n2+1
满二叉树性质(定义) |
---|
深度为 k有2k−12^{k}-12k−1个结点 |
完全二叉树性质 |
---|
除了最下层,其他每层都饱满,最下层的结点都集中在该层最左边的若干位置 |
没有左儿子,就一定没有右儿子 |
儿子结点编号 /2 为父亲编号,若父亲编号A,左儿子2A,右儿子2A+1 |
n个结点,深度为 log2log_{2}log2n+1 取整 |
哈夫曼树和哈夫曼编码
类似合并果子:洛谷#1090合并果子
每次选取权值最小的两个点连为一个点,两者和为新点的权值。
路径长度PL | 树根到树的每个节点的路径长度(长度皆为1)之和 | 完全二叉树最短 |
带权路径长度WPL | 树的所有叶子节点的带权长度(该节点到根节点路径长度与节点上权的乘积) | 哈夫曼树最短 |
哈夫曼编码:
字母出现的次数作为权值,进行哈夫曼树的构造,左为0,右为1,从根沿每条路径到达叶子节点的代码排列起来,便得到了哈夫曼编码。
高精度
排序
时间复杂度计算
时间复杂度概述
代入值为1e6是安全的 | |
---|---|
O(n)O(n)O(n) | 部分贪心 |
OOO(nlog2_{2}2n) | 带有分治思想的部分算法 |
OOO(n2^{2}2) | 部分动态规划 |
OOO(n3^{3}3) | 部分动态规划,部分搜索算法 |
OOO(n!!!) | 部分搜索算法 |
O(m∗n)O(m*n)O(m∗n) | 遍历矩阵等 |
省时间 | 省空间 |
---|---|
位运算,+ - 比 * / % 快 | 压缩存储,重复利用,尽量用int,不用long long |
原码、补码、反码
32位二进制,最高位 0表示正 1表示负 | |
---|---|
原码 | 首位符号位,其余真值 |
反码正数 | 与原码一样 |
反码负数 | 符号位和原码一样,其他位相反 |
补码正数 | 与原码一样 |
补码负数 | 等于反码加一 |
最高位不进位,超过取模2322^{32}232
数据结构基础
算法 + 数据结构 = 程序
数据结构体系
四类基本结构
集合结构 | 线性结构 | 树形结构 | 图形结构 |
---|---|---|---|
同属一个集合 | 一对一的关系 | 一对多的关系 | 多对多的关系 |
线性结构
顺序存储结构(数组)
链式存储结构(链表)
数组和线性表
栈和卡特兰数
队列:允许插入的一端称为队尾(rear),允许删除的一端称为队头(front)
循环队列:头指针指向队列中队头元素的前一个位置,尾指针指示队尾元素在队列中的当前位置
树型结构
结点的度:结点拥有的子树数
图形结构
见下面 “““ 图论算法基础 ”””
数论算法基础
初赛数论内容:
基本概念知识
最大公约数,最小公倍数
扩展欧几里得
欧拉函数
素数筛法
费马小定理
威尔逊定理
乘法逆元
中国剩余定理
线性同余方程
组合数学基础
初赛组合数学内容:
组合数
栈和卡特兰数
加法原理
乘法原理
鸽巢原理
容斥原理
数列(等差,等比,斐波那契)
图论算法基础
计算几何基础
基本算法思想
数据结构 + 算法 === 程序
数据结构:数据的类型,数据的组织形式
算法:对程序操作流程的描述
算法 | 基本思想 | 适用条件 | 算法优化 | 优点 | 缺点 | 应用 |
---|---|---|---|---|---|---|
枚举 | 穷举所有可能解 | 明确的解空间 | 剪枝 | 易理解 | 效率低 | 排列,子集 |
递推 | 寻找规律推式子 | 关系,边界条件明显 | 速度快 | 思路难 | 组合计数,博弈,DP | |
递归 | 调用本身 | 有明确递归结束条件 | 变参–>全局 | 结构清晰可读 | 效率低,易爆内存 | 分治,DFS |
分治 | 大事化小 | 最优子结构,子问题独立可合并 | 二分,排序,点对 | |||
贪心 | 考虑局部最优 | 无后效性 | 部分背包 | |||
回溯 | DFS返回 | DFS | 迭代加深 | DFS | ||
动态规划 | 多阶段决策最优化 | 无后效性,重叠子问题,最优子结构 | 记录中间状态 | 背包,区间,树 |
枚举
NOIP2016玩具谜题
NOIP2014生活大爆炸版石头剪刀布
五种典型递推关系:
1.Fibonacci数列
代表:兔子繁殖问题
公式: F(n) = F(n-1)+F(n-2)
边界条件F(0)=0F(0)=0F(0)=0, F(1)=1F(1)=1F(1)=1
2.Hanoi问题
Hanoi问题是可以拓展的,比如4根柱子,5根柱子……甚至1500根柱子!
题目来自一次校内模拟题T2(感兴趣可自行查阅)
3.平面分割问题
设有nnn条封闭曲线画在平面上,任何两条封闭曲线恰好交于两点,任何三条封闭曲线不相交于同一点,问这些封闭曲线把平面分割成的区域个数
公式: A(n) = A(n-1)+2(n-1)
4.Catalan数
见上面
5.第二类Stirling数
递归
DFS算法优化
最优化剪枝
可行性剪枝
记忆化搜索
改变搜索顺序
优化搜索策略
预处理
改写*IDA算法
BFS算法优化
判重优化:hash,二叉排序树
双向BFS或启发式搜索
改写A*算法
二分优化
迭代加深搜索
通过限定下限k,然后允许深度优先搜索k层,一旦没有找到有效解,则增大下界
DFS | BFS | |
---|---|---|
优点 | 适合回溯 | 启发式更易实现 |
参数传递,状态修改恢复方便 | 能立刻停止 | |
自项向下处理 | 解决“最小步数”“深度最小”问题 | |
记忆化搜索容易 | 迅速找到答案小的解 | |
缺点 | 栈易溢出 | 空间消耗大 |
不容易输出方案 | 状态重复排除耗时多 | |
不易立即结束搜索 |
分治
NOIP2012借教室
NOIP2013转圈游戏
贪心
NOIP2012国王游戏
NOIP2013积木游戏
NOIP2015跳石头
回溯
素数环问题
动态规划
背包型动态规划:POJ1014、POJ1068
序列型动态规划 :POJ1044、POJ1576、POJ3027
区间型动态规划:POJ1048、POJ1154、POJ1166
棋盘型动态规划:POJ1010、POJ1169、POJ1219、POJ1220
划分型动态规划:POJ1017、POJ1039、POJ1040
树型动态规划:POJ1163、POJ1380
计算机文化基础
计算机系统原理
接收和存储信息,按程序快速计算,判断并输出处理结果
主要技术指标:
字长:
32位CPU:
64位CPU:
主频:
运算速度:
存储容量:
容量换算
除了bbb——>B是8倍,其他都是1024倍(注意,Kb与KB不同,其他同理)
冯·诺依曼体系结构
组成部分:
中央处理器(CPU):
运算器:
控制器:
存储器:
二级缓存
内存:
主存:
外存:
硬盘:
光盘:
外设:
总线与接口
软件
计算机网络基础
网络的定义
计算机网络是由地理位置分散的、具有独立功能的多个计算机系统,经通讯设备和线路互相连接,并配以相应的网络软件,以实现通信和资源共享的系统
网络的功能
信息交换 | 计算机最基本的功能 | 系统通信:传送电子邮件,发布新闻消息,电子购物,电子贸易,远程电子教育 |
资源共享 | 资源包括软硬件资源 | 增强网络上计算机的处理能力,提高计算机软硬件率用率 |
分布式处理 | 复杂内容划分后完成 | 增强系统性能 |
网络拓扑结构
总线拓扑 | 星型拓扑 | 环型拓扑 | 树型拓扑 | 网状拓扑 | 混合拓扑 | 蜂窝拓扑 |
计算机网络系统
硬件系统
服务器 | 负责网络资源管理和用户服务的计算机,网络系统核心设备,分类(文件,远程访问,数据库,打印) |
工作站 | 具有独立处理能力的计算机,用户向服务器申请服务(如传输文件、打印文件的终端设备) |
网卡 | 网络适配器,计算机之间传输介质互相通信的接口,插在扩展槽中,将数字信号转换成电子或电磁信号 |
调制解调器 | ModemModemModem信号转换装置,将计算机的数字信号与通信线路的模拟信号相互“调制”,连接计算机与公用电话线 |
集线器 | HubHubHub局域网连接设备,具有多个端口可连接多台计算机,宽带共享 |
交换机 | 模拟用网桥连接各个网络的方式工作 |
网桥 | BridgeBridgeBridge局域网使用的连接设备,扩展网络距离,减轻网络负载,排除非本网段的信号,使信号高效使用信道 |
路由器 | RouterRouterRouter互联网使用的连接设备,可以连接网络,有网桥所有功能,还具有路径的选择功能 |
网关 | 复杂的网络连接设备,工作在OSI高三层,连接异构网络,转换不兼容的高层协议 |
软件系统
数据通信软件 | 通信功能 | MSNMSNMSN、QQQQQQ |
网络操作系统 | 控制和管理网络资源的软件 | WindowsWindowsWindows、UnixUnixUnix、LinuxLinuxLinux |
网络应用软件 | 网络能够为用户提供服务的“““软件””” | 浏览查询软件,传输文件,远程登录软件,电子邮件 |
网络信息系统
按地理范围分 | |
---|---|
局域网 | LAN |
城域网 | MAN |
广域网 | WAN |
按传输速率分 | 传输速率的单位 bpsbpsbps |
---|---|
低速网 | Kbps−MbpsKbps-MbpsKbps−Mbps |
高速网 | Mbps−GbpsMbps-GbpsMbps−Gbps |
按照传输信道的宽度分 | 带宽单位 HzHzHz |
---|---|
窄带网 | KHz−MHzKHz-MHzKHz−MHz |
宽带网 | MHz−GHzMHz-GHzMHz−GHz |
∗*∗带宽指传输信道的宽度
按传输介质分 | |
---|---|
有线网 | 有线介质(双绞线,同轴电缆,光导纤维) |
无线网 | 无线介质(移动通信网(3G、4G、5G、GPRS)、无线局域网(WiFi)、微波,激光,红外线) |
OSI模型
ISOISOISO(国际标准化组织)198119811981推出“““开放系统互联结构模型”””即OSIOSIOSI标准
OSIOSIOSI将网络协议规范化了的逻辑参考模型,是一个标准,不是特定的协议或系统
InternetInternetInternet国际计算机互联网
世界上规模最大的计算机网络
1994.41994.41994.4加入
1997.4.261997.4.261997.4.26
CSTnetCSTnetCSTnet(科技网)、CERnetCERnetCERnet(教育科研网)、CHINAnetCHINAnetCHINAnet(中国互联网)、chinaGBNchinaGBNchinaGBN(GoldBridgeGold BridgeGoldBridge 金桥网)相互连通
浏览器
可以显示网页服务器或者文件系统的HTMLHTMLHTML(超文本标记语言)文件
常见浏览器:XX浏览器(QQ、搜狗、UC等)、InternetInternetInternet ExplorerExplorerExplorer、FirefoxFirefoxFirefox、SafariSafariSafari、OperaOperaOpera、GoogleGoogleGoogle ChromeChromeChrome
网络协议
计算机网络中一系列的通信规则和约定的集合
InternetInternetInternet的核心协议:TCP/IPTCP/IPTCP/IP
局域网使用:IPX/SPXIPX/SPXIPX/SPX
TCP/IPTCP/IPTCP/IP
传输控制协议、因特网互联协议,网络通讯协议
最为成功的网络体系结构和协议规范
这是一组协议,包括上百个各种功能的协议,其中TCPTCPTCP和IPIPIP是最核心的两个协议
IPIPIP协议适用于所有类型的网络
TCPTCPTCP协议处理IPIPIP协议所遗留的通信问题,为应用程序提供可靠的通信连接,并能自动适应网络的变化
PS.IP地址即使在初赛出现也只有一道选择,内容却繁琐难度较大,建议略过,时间充裕可学
IP地址
IPv4 32位
IPv6 128位
类别 | 首字节 | 地址范围 | 缺省子网掩码 |
---|---|---|---|
A类网 | 0 | 1.0.0.0~127.255.255.255 | 255.0.0.0 |
B类网 | 10 | 128.0.0.0~191.255.255.255 | 255.255.0.0 |
C类网 | 110 | 192.0.0.0~223.255.255.255 | 255.255.255.0 |
D类网 | 1110 | 224.0.0.0~239.255.255.255 | |
E类网 | 11110 | 240.0.0.0~247.255.255.255 |
私有IP
10.0.0.010.0.0.010.0.0.0 ~ 10.255.255.25510.255.255.25510.255.255.255
172.16.0.0172.16.0.0172.16.0.0 ~ 172.31.255.255172.31.255.255172.31.255.255
192.168.0.0192.168.0.0192.168.0.0 ~ 192.168.255.255192.168.255.255192.168.255.255
子网掩码
网络号和主机地址
划分子网
域名
Com | 商业机构 | CN | 中国 |
EDU | 教育机构 | JP | 日本 |
GOV | 政府机构 | HK | 香港 |
Int | 国际机构 | UK | 英国 |
Mil | 军事机构 | CA | 加拿大 |
Net | 网络服务机构 | DE | 德国 |
org | 非赢利机构 | FR | 法国 |
常用缩写
HTTPHTTPHTTP 超文本传输协议
HTMLHTMLHTML 超文本标记语言
FTPFTPFTP 文件传输协议
TelnetTelnetTelnet 远程登录
SMTPSMTPSMTP POP3POP3POP3 简单邮件传输协议(发送收电子邮件,接收电子邮件)
URLURLURL 统一资源定位符
计算机病毒防治
计算机病毒是一种程序。
通过修改其他程序,将自身的精确拷贝或者可能演化的拷贝插入其他程序,从未感染其它程序。
利用计算机软件和硬件所固有的脆弱性编制的一组指令集或程序代码。
1994.2.18,我国正式颁布《中华人民共和国计算机信息系统安全保护条例》:
计算机病毒,是指编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。
计算机病毒特性:
繁殖性、破坏性、潜伏性、隐蔽性、可触发性、传染性(通过软盘、硬盘、移动硬盘、计算机网络等)
计算机病毒危害
1.破坏数据、信息
2.占用磁盘
3.抢占系统资源
4.影响计算机运行速度
5.计算机病毒错误与不可预见的危害
6.计算机病毒的兼容性对系统运行的影响
7.给用户带来心理压力
8.业务损失
9.法律问题
计算机分类
按病毒存在的媒体分类
网络病毒 | 通过计算机网络感染网络中的可执行文件 |
文件病毒 | 感染计算机中的文件(如COM,EXE,DOC等) |
引导型病毒 | 感染启动扇区(Boot)和硬盘的系统引导扇区(MBR) |
混合型病毒 | 上述三种情况混合 |
按病毒传染的方法分类
引导扇区传染病毒 | 使用病毒的全部或部分代码取代正常的引导记录,隐藏正常的引导记录 |
执行文件传染病毒 | 寄生在可执行程序中,程序执行即激活 |
网络传染病毒 | 当前病毒主流,通过互联网传播 |
按病毒的破坏能力分
无害型 | 减少磁盘的可用空间 |
无危险型 | 减少内存,显示图像,发出声音及同类音响 |
危险型 | 在计算机系统操作中造成严重的错误 |
非常危险型 | 删除程序,破坏数据,清除系统内存区和操作系统中的重要信息 |
按病毒算法分类
伴随型病毒 | 不改变文件,产生EXE的伴随体,DOS加载时优先执行伴随体,再由伴随体加载执行原来的EXE文件 |
蠕虫型病毒 | 不改变文件和资料信息,利用网络,从内存转移到另一机器内存,计算网络地址,将病毒通过网络发送 |
寄生型病毒 | 依附在系统的引导扇区或文件中,通过系统的功能传播 |
练习型病毒 | 病毒自身包含错误,不能很好地传播 |
变形病毒 | 传播过程中会改变内容和长度 |
按计算机病毒的链接方式分类
源码型病毒 | 攻击高级语言编写的程序,在程序编译前插入源程序,成为合法的一部分 |
嵌入型病毒 | 将自身嵌入现有程序,把计算机病毒的主体程序与攻击对象以插入的方式链接 |
外壳型病毒 | 包围在主程序四周,易于编写,易于发现,可以通过测试文件大小发现 |
操作系统型病毒 | 将自身程序加入或取代部分操作系统进行工作,可以导致整个系统瘫痪(圆点病毒,大麻病毒) |
按病毒攻击操作系统分类
Microsoft DOS |
Microsoft Windows95/98/ME |
Microsoft WindowsNT/2000/XP |
Unix(Linux) |
Macintosh(MacMag病毒,Scores病毒) |
OS/2(AEP病毒) |
计算机病毒典型人物
时间 | 人物 | 事件 |
---|---|---|
1983.11.03 | 弗雷德·科恩博士 | 研制成第一个计算机病毒(Unix),伦·艾德勒曼将它命名为计算机病毒 |
1988.11.02 | 莫里斯(康奈尔大学) | 将蠕虫病毒放入互联网 |
1998.5 | 陈盈豪(台湾大学) | CIH病毒,又名切尔诺贝利 |
2003.8.29 | 杰弗里·李·帕森 | 冲击波电脑病毒制造者,被捕 |
2007 | 李俊(武汉新洲区人) | 熊猫烧香病毒 |
计算机病毒命名规则(CARO命名规则)
1.病毒家族名+病毒组名+大变种+小变种+修改者
2.加前缀标明病毒类型(WM,Win32,VBS)
计算机病毒防治技术:
特征码扫描法,虚拟执行技术,智能引擎技术,计算机监控技术,未知病毒查杀技术,压缩智能还原技术,多层防御,集中管理技术,病毒免疫技术
常见防病毒软件:
金山毒霸,瑞星杀毒,KV3000KV3000KV3000 , PC−CillinVirusBusterPC-Cillin VirusBusterPC−CillinVirusBuster , NortonAntiVirusNorton AntiVirusNortonAntiVirus,
F−SecureAntivirusF-Secure AntivirusF−SecureAntivirus , McafeeVirusScanMcafee VirusScanMcafeeVirusScan , Nod32Nod32Nod32 , KasperskyAntivirusKaspersky AntivirusKasperskyAntivirus
主要防病毒组织:
Wildlist国际组织、病毒公告牌、29A病毒技术组织、亚洲反病毒研究者协会(AVARAVARAVAR)、国家计算机病毒应急处理中心,病毒观察,中国绿盟,安全焦点,病毒资讯网,国际计算机安全联合会(ICSAICSAICSA)
计算机信息处理
基于计算机的信息处理过程
1.信息采集和表示:数字,字符,声音,图形,图像(计算机编码技术)
2.信息存储:存储器的分类,管理,访问等(计算机软硬件系统)
3.信息管理:采集,处理,输出(计算机程序设计)
4.信息组织:(计算机数据库技术)
5.信息传输,信息检索:(计算机网络技术)
数制转换
见上
原码,补码,反码
见上
字符
ASCII
美国信息交换标准代码,国际上通用的微型机编码
由8位二进制数组成,其中最高位为较验位,用于传输过程检验数据正确性,其余七位表示一个字符
GB1988
我国据ASCII码制定,52个英文字母,32个标点符号,运算符和34个控制字符,D7恒为0
GB2312
汉字交换码:
用于汉字外码和内码的交换
每个字符由一个2个字节的代码组成,高字节表示区号,低字节表示位号
汉字的机内码:
在计算机内部传输,存储,处理的汉字编码
字节最高位为“1”“1”“1”为汉字符,为“0”“0”“0”为ASCIIASCIIASCII字符
机内码在国际码的基础上将两个字节的最高位一律由“0”“0”“0”改“1”“1”“1”
汉字的输入码:
输入码为外码
数字编码,拼音码,字形码,音形码
无论采用哪一种汉字输入法,当用户向计算机输入汉字时存入计算机的总是它的机内码
各种汉字输入码(外码)===> 键盘管理程序 ===> 统一的汉字机内码(内码)
汉字的字形码
表示汉字字形信息(结构,形状,笔划)的编码,用于实现计算机对汉字的输出(显示,打印)
最常用的表示方式:点阵形式,用二进制的“0”"1"“0”"1"“0”"1"表示暗亮。
字模码占的的字节数由汉字的字形决定
简易型16*16 | 32字节 |
普通型24*24 | 72字节 |
提高型32*32 | 128字节 |
精密型48*48 | 288字节 |
BIG5
繁体字
GB18030
Unicode
汉字处理过程
输入 ===> 输入码(外码) ===> 键盘管理程序(输入法) ===> 汉字机内码(内码) ===> 字形码 ===>输出
计算机中多媒体的表示方式
多媒体信息:声音,图形(矢量图),图像(静态图像——位图,视频图像)等
模拟信号:时间和幅度上都是连续变化的信号
数字信号:时间和幅度上都是离散的信号
声音信息的数字化(将连续变化的音频信号转换为时间和幅度都是离散的数字表示的信号)
模拟信号
模拟声音信号 ==> 采样 ==> 量化 ==> 编码 == >数字声音信号
采样:
在某些特定的时刻对这种模拟信号进行测量叫做采样
采样所得到的信号称为离散时间信号(时间上离散,幅度上连续)
量化:
把信号幅度取值的数目加以限定,由有限个数值组成的信号就称为离散幅度信号。
编码:
用预先规定的方法将文字,数字或其他对象编成数码,或将信息,数据转换成规定的电脉冲信号。
信息只有经过数字化编码后才能表示,存放和传递
采样频率:
单位时间的采样次数
采样精度(样本位数)(位深度):
采样频率越高,采样精度越高,信号失真度越小,所得数据占用的存储空间越大
声音文件的数据量
声音文件的数据量=采样频率(HzHzHz) * 样本精度(bitbitbit) * 声道数 * 时间(sss)
图像信息的数字化
采样 ==> 量化 ==> 编码
采样:
空间连续坐标(x,y)的离散化 ==> 像素点
量化:
幅度f(x,y)的离散化 == > 灰度级的整量(明暗程度,色彩度) ==> 用若干位二进制码表示一个像素点的灰度值
数字图像:空间上和灰度级上都离散的图像。
图像采样的点数称为图像分辨率,用点的“行数*列数”
表示每个像素颜色使用的二进制位数称为像素深度或位深度(1位,4位,8位,24位,32位)
图像文件大小
图像文件的大小=位深度 * 像素数
BMPBMPBMP(不压缩),GIFGIFGIF(压缩效率高,存储空间小),JPEGJPEGJPEG(有损压缩)
图形(矢量图)信息的数字化
计算机程序设计语言
组成 | 特点 | ||
---|---|---|---|
机器语言 | “0” “1” | 计算机能直接识别执行,不同机型计算机不相通 | |
汇编语言(符号语言) | 英文字母,符号串 | 面向具体机型,不同种类计算机不相通 | PUSH AX、PUSH BX、POP AX、BX、ADD CX、 |
高级语言 | 面向对象,只要配备相应的高级语言的编译或解释程序,就通用 | BASIC、Pascal、C、C++、VC、VB、Delphi、JAVA |
高级语言:
接近算法语言
为程序员提供结构化程序设计的环境和工具,是得设计出来的程序可读性好,可维护性强,可靠性高
高级语言与计算机硬件较远,具有可移植性,重用率高
自动化程度高,开发周期短
应用角度 | 基础语言(通用语言) | FORTRAN、COBOL、BASIC、ALGOL | |
结构化语言 | PASCAL、C、Ada | 直接支持结构化的控制结构 | |
专用语言 | APL、Forth、LISP | 为某种特殊应用而专门设计 | |
描述客观系统 | 面向过程语言 | 大多数 | 数据结构+算法 |
面向对象语言 | Delphi、Visual Basic、Java、C++ | 对象+消息 |
程序设计语言发展趋势
模块化、简明性、形式化
C++常用STL结构与函数
∗∗sort**sort∗∗sort
排序
sort(v.begin(),v.end(),mycmp);sort(v.begin(),v.end(),mycmp);sort(v.begin(),v.end(),mycmp);
左闭右开
∗∗low**low∗∗low _ boundboundbound
lowlowlow _ boundboundbound (v.begin(),v.end(),c)(v.begin(),v.end(),c)(v.begin(),v.end(),c)
在一个有序数组里找出刚好大于等于c的数
upperupperupper _ boundboundbound (v.begin(),v.end(),c)(v.begin(),v.end(),c)(v.begin(),v.end(),c)
在一个有序数组里找出刚好大于c的数
∗∗Next**Next∗∗Next_permutationpermutationpermutation
prevprevprev _ permutationpermutationpermutation (v.begin(),v.end())(v.begin(),v.end())(v.begin(),v.end())
可用于求出当前v数组序列的上一个排列
NextNextNext _ permutationpermutationpermutation (v.begin(),v.end())(v.begin(),v.end())(v.begin(),v.end())
可用于求出当前v数组序列的下一个排列
∗∗Vector**Vector∗∗Vector
代表一个不定长数组
Vector<Type>AVector< Type > AVector<Type>A
A.clear()A.clear()A.clear()清空
A.pushA.pushA.push_back()back()back()尾部添加元素
A.popA.popA.pop_back()$尾部删除元素
A.empty()A.empty()A.empty()检查是否为空,空返回falsefalsefalse
∗∗Set**Set∗∗Set
一个存储集合的容器
set<Type>Aset< Type > Aset<Type>A
A.insert()A.insert()A.insert()插入a
A.erase()A.erase()A.erase()删除a
A.find()A.find()A.find()查找a,如果查找成功返回对应指针,查找失败返回尾指针
A.begin()A.begin()A.begin()返回头指针
A,end()A,end()A,end()返回尾指针,尾指针不存储具体内容
∗∗Map**Map∗∗Map
存储keykeykey到valuevaluevalue的映射
map<Type1,Type2>Amap< Type1,Type2> Amap<Type1,Type2>A
Type1Type1Type1 是 keykeykey 类型,Type2Type2Type2 是 valuevaluevalue 类型
可以通过 A[B]=CA[B]=CA[B]=C 这种形式赋值,BBB 为 Type1Type1Type1,CCC 为 Type2Type2Type2
A.clear()A.clear()A.clear()清空
A.erase(B)A.erase(B)A.erase(B)删除(B可以是key值也可以是指针)
A.empty()A.empty()A.empty()判断是否为空
A.begin()A.begin()A.begin()头指针
A,end()A,end()A,end()尾指针
∗∗Pair**Pair∗∗Pair
一个包含两个可以不同的数据值的类型
pair<Type1,Type2>Apair< Type1,Type2> Apair<Type1,Type2>A
makemakemake _ pair(t1,t2)pair(t1, t2)pair(t1,t2)赋值
A.first, A.second;返回对应的值
∗∗Stack**Stack∗∗Stack
模拟栈
stack<Type>Astack < Type > Astack<Type>A
A.push()A.push()A.push()入栈
A.pop()A.pop()A.pop()出栈
A.top()A.top()A.top()返回栈顶元素
∗∗Queue**Queue∗∗Queue
模拟队列
queue<Type>Aqueue < Type > Aqueue<Type>A
A.push()A.push()A.push()入队
A.pop()A.pop()A.pop()出队
A.front()A.front()A.front()返回队首元素
∗∗Priority**Priority∗∗Priority queuequeuequeue
优先队列,一个类似堆的数据结构
PriorityPriorityPriority _ queue<Type>Aqueue<Type> Aqueue<Type>A
A.push()A.push()A.push()插入
A.pop()A.pop()A.pop()删除最值(默认最大值)
A.top()A.top()A.top()返回最值
∗∗Bitset**Bitset∗∗Bitset
处理二进制串的"数组"
bitset<n>Abitset<n> Abitset<n>A (n为长度)
支持所有位运算
A.count()A.count()A.count()统计1的个数
A.reset()A.reset()A.reset()清0
A.set()A.set()A.set()全赋为1
A.size()A.size()A.size()返回位数
信息学奥林匹克
NOINOINOI:全国信息学奥赛
主办方:中国计算机协会
官方网站1
官方网站2
重点注意:简介,联赛大纲,编程规则,标准竞赛环境,技术问题说明
必知:
背景
NOINOINOI :198419841984、各省五名,至少一名女选手
NOIPNOIPNOIP :199519951995
IOIIOIIOI :198919891989、2000中国北京主办,CCF承办
APIOAPIOAPIO :200720072007 、中国计算机协会
1.NOINOINOI机试
使用的操作系统:LinuxLinuxLinux
使用的LinuxLinuxLinux发行版:NOINOINOI LinuxLinuxLinux
不可使用网络(互联网,局域网)
不可私自重启电脑
选手允许使用的编程语言:C++C++C++、CCC(2022部分停用)、PascalPascalPascal(2022全部停用)
提交的有效文件类型:答案文件,源程序
比赛题目类型:非交互式程序题、交互式程序题、答案提交题
参加目的:提高水平、为国争光、增进交流、(!!不是为了得奖)
2.在NOINOINOI LinuxLinuxLinux系统中
可以用来调试程序的程序:gdbgdbgdb
从字符控制台切换回桌面环境使用的快捷键:Ctrl+Alt+F7Ctrl+Alt+F7Ctrl+Alt+F7
默认使用的shellshellshell:bashbashbash
3.评测系统
对程序源文件大小的限制:小于100KB100KB100KB
对程序使用内存的限制:以硬件资源为限
4.创建备份
cpcpcp my.cmy.cmy.c myc.bakmyc.bakmyc.bak
5.Anjuta
继续执行的快捷键:F4F4F4
单步运行(step(step(step over)over)over):快捷键:F6F6F6
支持多窗口编辑的IDEIDEIDE
C++C++C++ IDEIDEIDE环境:AnjutaAnjutaAnjuta、GUIDEGUIDEGUIDE
6.Lazarus
开始运行程序的快捷键:F9F9F9
单步运行(step(step(step over)over)over):快捷键:F8F8F8
使用单步调试(step(step(step over)over)over):在EnvironmentEnvironmentEnvironment −>->−> DebuggerDebuggerDebugger OptionsOptionsOptions中配置
支持多窗口编辑的IDEIDEIDE
PascalPascalPascal IDEIDEIDE环境:LazarusLazarusLazarus、GUIDEGUIDEGUIDE
7.程序
方法:单步调试,使用printprintprint类语句打印中间结果,读源代码
可以不使用IDAIDAIDA环境编辑程序源代码
程序不可进行的操作:
访问网络、使用forkforkfork或其他线程/进程生成函数、打开或创建题目规定以外的文件、运行其他程序
8.欢乐爆零
如果提交的答案程序中包含NOINOINOI考试明确禁止使用的代码
文件名错误(只能是小写)、文件目录名错误、文件保存路径错误
9.账户
使用每场考试前工作人员下发的账户及密码
10.测试点
测试点的时间的限制含义:用户时间
11.延时
计算机硬件故障、操作系统死机
12.物品
可携带:笔,手表
不可携带:书籍,纸,U盘,手机
场地提供:草稿纸,饮用水,食品
历年真题
CSP初赛真题
经典模拟题
CSP初赛模拟
CSP初赛篇·知识大纲(未完成)相关推荐
- NOI大纲 CSP初赛篇·知识大纲 CSP-入门级-NOI大纲
CSP初赛篇·知识大纲(未完成) CSP初赛篇·知识大纲(未完成)_qyxpsx7的博客-CSDN博客_csp考纲 [luogu7735] [NOI2021] 轻重边 - 数据结构 - LCT - 树 ...
- CSP初赛基础知识整理
一.硬件 计算机发展: 年代 元件 第一代 1946~1958 电子管 第二代 1959~1964 晶体管 第三代 1965~1970 集成电路 第四代 1971~? 大规模集成电路 世界上第一台计算 ...
- Java高级篇-0-为什么要掌握Java高级篇知识
好长时间了,就想要花时间系统去学习下Java的高级篇知识,这部分是我个人目前比较欠缺的,而且是急缺的知识.我认为的Java高级篇内容是这样划分的:对Java这个编程语言有基本了解,基本掌握了基础语法, ...
- 【蒟蒻の笔记】CSP初赛复习笔记
CSP初赛复习笔记 初赛什么都能考?就nm离谱/doge 计算机科学发展史 起源 图灵和图灵机以及其他成就 Alan Mathison Turing--艾伦·麦席森·图灵,于1936年发表了图灵机这一 ...
- 从零开始写项目第八篇【将未完成的项目发布在Tomcat上】
tags: 从零开发项目, title: 从零开始写项目第八篇[将未完成的项目发布在Tomcat上] 将项目打包成war包 我使用的是Maven来构建项目的,因此打war包也是非常方便的. 参考链接: ...
- CSP-S初赛基础知识整理
文章目录 CSP-S初赛基础知识整理 RT [1]计算机基础知识 计算机系统的组成 计算机硬件的五大组成 [1-2]进制及其转化和运算 [1-2]二进制 [1]基本定义及应用 [1]基本运算 [2]位 ...
- CISP知识大纲思维导图
CISP知识大纲思维导图
- matlab试用SUMT外点法求解,数学建模集训知识大纲
数学建模集训知识大纲 文章目录 数学建模集训知识大纲 评价算法 简单加权法 逼近于理想解的排序法(TOPSIS算法) 层次分析法 主成分分析法 模糊综合评价法 聚类分析法 秩和比法 人工神经网络 熵权 ...
- Android知识大纲
Android知识大纲 Java垃圾回收机制 Java内存是如何划分的,Java语言为什么要使用垃圾回收机制? 垃圾判定 1. 标记引用算法 2. 根搜索法 虚拟机栈中的引用对象 方法区中的常量引用对 ...
最新文章
- 【kuangbin带你飞】专题六 最小生成树
- 如何正确使用网站TAG标签,让SEO优化效果倍增?
- 如何直接在github上预览html网页效果
- 初学python之路-day18
- VS2010下使用dmp文件和pdb文件定位程序异常代码行号的注意事项
- cmd如何刷新MySQL数据库_怎样在cmd中用命令操作MySQL数据库 需要技巧
- MathType输入框怎么调整
- oracle rac防护,Oracle RAC日常基本维护命令
- 选项卡 || 图片切换
- pip添加国内镜像源
- 《零基础入门学习Python》学习过程笔记【40类和对象的相关内置函数】
- 使用Notepad3替代Notepad++
- windows共享 无法访问
- 自然语言16_Chunking with NLTK
- cdlinux 0.9.8_Cdlinux的GNU / Linux发行版0.9.6.1版
- WGS84经纬度坐标6度分带高斯投影正算
- 解决记事本写java时出现中文乱码问题
- 用soa搭建统一的电子政务平台
- 面试杂谈 - 面试难,应聘难,好工作,今安在?
- Pdf文件加密器(最新版V5.0)