noip 初赛复习重点知识点
一.进制转化
将k进制数转化为十进制数:
设k进制数为(abcd)k,则对应十进制数为
(小数同理,乘k的负幂次)
将十进制数转成k进制数:
设十进制数为x:
t1=x/k,t2=x mod k
t11=t1/k,t22=t1 mod k
......
t1n=t1 n-1 /k,t2 n= t1 n-1 mod k,此时t1n=0
于是k进制数为t2n t2n-1...t22 t21排列
(小数则乘k取整,从前向后排列)
附录:进制的字母表达:
H(Hexadecimal)——16进制
D(Decimal)——10进制
O(Octonary)——8进制
B(Binary)——2进制
二.逻辑运算
逻辑与:∧(或‘·’)
逻辑或:∨ (或‘+’)
逻辑非:┐
优先级:逻辑非>逻辑与>逻辑或,有括号按括号,无括号先按优先级,同级运算从左至右
与位运算结合优先级:逻辑非(!,┐)=按位反(~)>位移运算(<<,>>)>不等号(>=,<=)>等号(==,!=)>按位与(&)>按位异或(^)>按位或(|)>逻辑与(&&,∧)>逻辑或(||,∨)
三.数据结构
1.二叉树
(1)二叉树的三种遍历方式:
①.先序遍历:根-左-右
例:
如图所示,这棵二叉树的先序遍历为1245367
②.中序遍历:左-根-右:
例:
如图所示,这棵二叉树的中序遍历为4251637
③.后序遍历:左-右-根
如图所示,这棵二叉树的后序遍历为4526731
结论:给定中序遍历和先序遍历或后序遍历组合都可以确定这棵二叉树,但是给定先序遍历和后序遍历组合则不可确定
(2)二叉树特例:
完全二叉树:对于每个节点,都有两个子节点
满二叉树:对于每个节点,都有两个子节点且树完全“平衡”,总节点个数为2^k-1,k∈Z(如上面的样例)
(3)二叉树的有关公式:
一棵满二叉树:节点个数为,叶节点个数为<其中k为树的高度
二叉树的深度均摊为log2n,其中n为节点个数(这就是treap等二叉搜索树时间复杂度的来源)
2.栈与队列
(1)栈:只有一个口,后进栈者先出栈
与栈类似的实例(题例):
只有一个口的火车站(为什么要修成这样...)
汉诺塔(以及各种积木垒塔游戏)
(2)队列:有head和tail,从尾入队,从头出队,先进先出
3.链表:
链表:每个元素会有一个指针指向要求的下一个元素
分类:
单向链表:每个元素只有一个指针指向下一个元素
双向链表:每个元素有两个指针,一个指向下一个元素,另一个指向指向他的元素
链表可以实现O(n)查询,O(1)删除(重构指针即可)
4.图论有关知识:
完全图:任意两点均有连边的图,其中边数为n*(n-1)/2,其中n为图中节点个数
连通图:任意两点之间都能直接或间接通过边到达的图
树:任意两点之间的简单路径有且仅有一条(或有n个点,n-1条边的连通图)
欧拉图:可以一笔画出来的图
一个图是欧拉图的充要条件(无向图):度为奇数点的点的个数<=2
相关定义:
欧拉环游:通过图中每边恰好一次的闭路径
欧拉闭迹:通过图中每边恰好一次的路径
三.IT基础知识与历史:
1.编程语言:
编程语言主要分两类:面向对象和面向过程
常见的面向对象高级语言:
simula 67,支持单继承和一定含义的多态和部分动态绑定;
Smalltalk,支持单继承、多态和动态绑定;
EIFFEL,支持多继承、多态和动态绑定;
C++,支持多继承、多态和部分动态绑定。
Java,支持单继承、多态和部分动态绑定。
结论:面向对象语言常见特点:封装,继承,多态
常见的面向过程高级语言:
C语言
Fortran语言
常见的低级语言:
汇编
高级语言与低级语言的区别:
高级语言更易移植,需要编译运行,低级语言(汇编)常数极小,运行速度快
2.计算机历史
对计算机做出重要贡献的人物:
图灵,冯·诺依曼(101页报告,EDVAC)
计算机的顶级奖项:
图灵奖
中国获图灵奖的人物:
姚期智
第一台计算机:
ENIAC
第一台具有存储程序功能的计算机:
EDVAC
3.计算机硬件原理问题:
微型计算机的面世——超大规模集成电路
计算机存储:
常见存储设备:ROM,RAM,硬盘,U盘,内存
四.实际问题的解决:
1.常见递推问题:
平面分割问题:
n条直线最多将平面分成的部分:=
推广:n个平面最多将空间分成的部分:
n条封闭曲线最多将平面分成的部分:
n条折线最多将平面分成的部分:
n条‘Z’型折线最多将平面分成的部分:
斐波那契数列问题:
卡特兰数列问题:
noip 初赛复习重点知识点的更多相关文章
- noip初赛复习总纲
初赛复习总纲 目录 初赛复习总纲 计算机发展史 计算机的分类 计算机的应用 操作系统盘点 计算机的基本结构 中央处理器(**CPU**--**Central Processing Unit**) 存储 ...
- 史上最全NOIP初赛知识点
CSP-J/S 第一轮知识点选讲 \(NOIP\)(全国青少年信息学奥林匹克竞赛)于2019年取消.取而代之的是由\(CCF\)推出的非专业级软件能力认证,也就是现在的\(CSP-J/S\).作为一名 ...
- NOIP初赛知识点大全-普及+提高组
NOIP初赛知识点大全-普及+提高组 https://mp.weixin.qq.com/s/vSXLDxmbBoFfZPzD8lrt3w
- NOIp初赛题目整理
NOIp初赛题目整理 这个 blog 用来整理扶苏准备第一轮 csp 时所做的与 csp 没 有 关 系 的历年 noip-J/S 初赛题目,记录了一些我从不知道的细碎知识点,还有一些憨憨题目,不定期 ...
- CSP初赛复习
初赛复习 初赛一定要过啊,否则付出的那么多都白搭了! while(1) ++csp.rp,++csp.luck,++csp.scores; 历史 2020年开始,除NOIP以外的NOI系列其他赛事(包 ...
- java知识点、重点知识点
重点章节: 面对对象章节 重点知识点: Lambda表达式 数据:内存-->数据库 知识点一拦: 类.面向对象.对象.封装.继承.多态.消息.UML建模.数据类型(基本类型.引用类型).数据类型 ...
- NOIP初赛 之 逻辑运算
NOIP初赛 之 逻辑运算 逻辑运算先掌握各种运算,注意运算符的级别比较,做题是要细心.在NOIP中一般一题,分值为1.5分. 概念介绍: 非:not ¬ 与:and ∧ 或:o ...
- PJ初赛复习日记
PA姑娘的PJ初赛复习日记 by Pleiades_Antares PJ初赛考试马上就要开始了(今年应该是10.13吧?),作为蒟蒻的我们怎么能不复习呢? 众所周知,复习方法有很多很多种-- 比如 ( ...
- ES6重点知识点总结(2)
ES6重点知识点总结(2) call和apply的作用是什么?区别是什么? call和apply的功能基本相同,都是实现继承或者转换对象指针的作用: 唯一不通的是前者参数是罗列出来的,后者是存到数组中 ...
随机推荐
- Redis安装完后redis-cli无法使用(redis-cli: command not found)
之前安装redis后客户端无法使用,即redis-cli执行后报找不到的错误.这主要是安装redis的时候没有把客户端装上,在StackOverFlow上找到了一种只安装redis cli的方法,这里 ...
- python模块-----pymysql
一.安装 本模块为python第三方模块,需要单独安装.作用为调用mysql接口执行模块 pip3 install pyMySql 操作步骤: #!/usr/bin/python3 import py ...
- OGG-01168
https://blog.csdn.net/zhrzhl/article/details/21698659
- YOLOv1
学习资料: https://blog.paperspace.com/tag/series-yolo/ https://blog.csdn.net/u014380165/article/details/ ...
- 关于dubbo服务超时的讨论
呵呵,偷点懒,直接把QQ上的讨论发下来. huxin 10:35:19你们现在超时了是咋办的,首先超时了,回复用户肯定是要的 huxin 10:36:14超时了用户实际是不知道这业务是成功还失败了 ...
- windows系统下简单nodejs安装及环境配置
相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置 相信 ...
- hibernate框架学习之数据查询(HQL)
lHibernate共提供5种查询方式 •OID数据查询方式 •HQL数据查询方式 •QBC数据查询方式 •本地SQL查询方式 •OGN数据查询方式 OID数据查询方式 l前提:已经获取到了对象的OI ...
- Win7系统分区提示会把选定的基本磁盘转化为动态磁盘
其实是因为目前分区数量已经达到四个了,需要用分区工具先删除一个分区,可以解决问题了
- tomcat 嵌入式
背景 开源世界真是有意思,竟然还有这种玩法.以前一直想bs程序如何像cs程序作为安装包形式,这个就是个解决方案. 知识点 将tomcat嵌入到主程序中进行运行,而不是像以前将一个web项目copy到t ...
- selenium中,8种 find element 方法
-*- coding;utf-8 -*- from selenium import webdriver dr = webdriver.Chrome() dr.get("https://www ...