首页 > 其他 > 详细

noip2018提高组复习

时间:2018-09-19 20:38:30      阅读:271      评论:0      收藏:0      [点我收藏+]

NOIP2018 提高组各种复习

一、初赛

  • NOI系列比赛支持语言

    根据国际信息学奥林匹克竞赛(IOI)的相关决议并考虑到我国目前程序设计语言的具体情况,CCF决定:

    1.2020年开始,除NOIP以外的NOI系列其他赛事(包括冬令营、CTSC、APIO、NOI)将不再支持Pascal语言和C语言;

    2.从2022年开始,NOIP竞赛也将不再支持Pascal语言。即从NOIP2022开始,NOI系列的所有赛事将全部取消Pascal语言;

    在无新增程序设计语言的情况下,NOI系列赛事自NOIP2022开始将仅支持C++语言。

  • 二进制相关

    1.二进制数的表示:

    • 有符号整数:\(n\)位2进制数中,第一位为符号位,0为正,1为负,后面\(n-1\)位表示数值,表示范围为\(-2^{n-1}\) ~ \(2^{n-1}-1\)
    • 无符号整数:没有符号位,表示范围为\(-2^n\) ~ \(2^n-1\)

    2.源码、反码、补码:

    以下默认均为二进制数

    • 正数:
      • 源码:本身
      • 反码:与源码相同
      • 补码:反码最后一位加一
    • 负数:
      • 源码:本身
      • 反码:源码除符号位外每位逐一取反
      • 补码:反码最后一位加一
    • 0:在计算机中,0的符号位为0,算入正数中

    3.c++中各种类型的表示范围:

    int: \(-2^{31}\) ~ \(2^{31}-1\)

    unsigned int:\(0\) ~ \(2^{32}-1\)

    long long :\(-2^{63}\) ~ \(2^{63}-1\)

    unsigned long long : \(0\) ~ \(2^64-1\)

  • 计算机内存单位及换算

    1 B = 8b (b = bit 比特, B = Byte 字节)

    1 KB = 1024 B

    1 MB = 1024 KB = 1048576 B

    1 GB = 1024 MB

    1 TB = 1024 GB

    1 PB = 1024 TB

  • 各种排序及其时间复杂度、空间复杂度和稳定性

    稳定性:能否保证满足同样大小的数排序后按照原来的位置关系。如从小到大排序时,所有满足\(a_i<a_j\)\(i<j\)的两个数排序后仍满足\(a_i\)\(a_j\)前面

    排序方法 时间复杂度 空间复杂度 稳定性
    快速排序 一般\(O(n log n)\),最坏情况下\(O(n^2)\) \(O(logn)\) 不稳定
    shell 排序(希尔排序) \(O(n^2)\) \(O(1)\) 不稳定
    堆排序 \(O(nlogn)\)(直接在原序列上建立堆) \(O(1)\) 不稳定
    选择排序 \(O(n^2)\) \(O(n)\) 不稳定
    归并排序 \(O(nlogn)\) \(O(n)\) 稳定
    基数排序 \(O(n)\) \(O(n)\) 稳定
    插入排序 \(O(n^2)\) \(O(n)\) 稳定
    冒泡排序 \(O(n^2)\) \(O(1)\) 稳定
  • 不同的编程思想:

    • 面向过程:是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。

      面向过程的编程语言有:C, Fortan, Pascal,汇编语言

    • 面向对象:是一种以事物为中心的编程思想。

      比如以公共汽车而言。“面向过程”就是汽车启动是一个事件,汽车到站是另一个事件。在编程序的时候我们关心的是某一个事件。而不是汽车本身。我们分别对启动和到站编写程序。类似的还有修理等等。

      面向对象的编程语言有:C++, Java, Python

  • 计算机方面的奖项有:图灵奖,CCF 王选奖

  • 各种学会、比赛的简称及其对应全称:

    • 中国计算机学会 CCF
    • 全国青少年信息学奥林匹克联赛 NOIP
    • 全国青少年信息学奥林匹克竞赛 NOI
  • 图片格式:gif, jpeg, png

  • 视频格式:mp4, avi, wmv, rmvb, mkv 等等

  • 音频格式:mp3, ape

  • 卡特兰数:

    • 简单介绍:

      \(n\)个卡特兰数 \(h(n)=h(0)\times h(n-1)+h(1)\times h(n-2)+\cdots+h(n-1)\times h(0)\)

      它的通项公式为 \(h(n)=C^n_{2n}-C^{n+1}_{2n}=\frac{C^n_{2n}}{n+1}\)证明

    • 应用:

      \(n\)个节点的二叉树的形态有\(h(n)\)

      \(n\)个数出栈入栈的顺序有\(h(n)\)

      \(n\)对括号的匹配方式有\(h(n)\)

      \(\cdots\)

noip2018提高组复习

原文:https://www.cnblogs.com/Sleepy-Piggy/p/9676801.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!