初赛选择题知识点整理 & 听课笔记

初赛知识点整理(选择题)& 听课笔记


一、计算机基础

  1. 第一台计算机 埃尼阿克 1946

  2. 第一个程序员 Ada(女)

  3. 菲尔兹奖(数学)

  4. IEEE:美国电气与电子工程师协会

  5. 图灵奖 华人只有姚期智 艾伦·麦席森·图灵(英)ACM设立

  6. 冯诺依曼结构:
    image

  7. 计算机组成:

    • 主频:处理速度
    • 内存:临时存放的东西(RAM)
    • 外存
    • 摩尔定律:硬盘每18个月翻倍
  8. 软件:

    • 操作系统:Windows、DOS、Unix、Linux、MacOS、Android、ios、鸿蒙
    • 应用软件
    • 机器语言(CPU看得懂的指令)、汇编语言、高级语言(c++)
  9. 文字编码:GBK编码(2字节)(比较老的)、utf-8(3字节)(比较新)

  10. 图片:黑白(01)、24位彩色(RGB)

  11. 文件系统扩展名(不常见的):

    • 图片:tiff,jpeg
    • 文档:PDF(不可编辑)
    • 视频:avi,rm,WMV,MPEG
  12. 关于比赛:

    • NOI:1984开始
    • NOIP:1995开始
    • 2022年后只能用c++
  13. 程序设计:

    • 编译:代码->可执行文件(机器码) C/C++,Pascal:编译型语言 编译器:将一种语言(通常是高级语言)翻译成另一种语言(通常是低级语言)
    • 解释:一行一行运行,又被称为“脚本“,后面错了仍可以进行前面的部分。 Python,JavaScript,PHP,BASIC:解释型语言
  14. 存储:KiB、MiB、GiB-->1024,KB、MB、GB-->1000。


二、基础算法

  1. 排序
    • 计数排序(人们口中的“桶排序”):$O(n+maxx) $不基于比较,稳定
    • 基数排序:从个位开始进行计数排序。\(O(kn)\) 稳定
    • 选择排序:选最小的与第一张交换,再选次小的。\(O(n^2)\) 不稳定
    • 冒泡排序:左右比较不断交换,最大的先到最右边,然后次大的到次右边。$O(n^2) $稳定
    • 插入排序:跟打扑克一样。$O(n^2) $ 稳定
    • 希尔排序:插入排序的优化版,\(O(n)\to O(nlog^2n)\),不稳定
    • O(nlogn)排序:归并(稳定),快速排序堆排序(不稳定),快排最慢 \(O(n^2)\)(当原数组有序时)
  2. 卡特兰数:n个数出栈方案数

三、排列组合问题

  1. 捆绑法:例如x个元素必须靠在一起。则把这x个元素单独拿出来,方案数为 \((n-x)!\times x!\)

  2. 插板法:例如10个人分到7个班,每班至少一人,则10个人9个空插6个板,方案数为\(C_9^6\)

    注意:插板法只能解决人相同班级不同的类型的问题,不能解决都相同或都不同的问题!

  3. 分类法:例如csp2019提高t7,分类讨论结合排列组合。

  4. 可以考虑画图表进行手动dp。

  5. 卡特兰数:

    • 含义为n*n的方格中从左下角走到右上角的方案数(要求向上或向右走,且每时每刻向右走的次数大于等于向上的次数)

    • \(Ans=C_{2n}^n-C_{2n}^{n-1}(n\in Z)\)

    • 推导:容斥原理。

  6. 错排问题:

    • 公式:\(Ans=n!-\frac{n!}{2!}+\frac{n!}{3!}-……+(-1)^{n+1}\frac{n!}{n!}\)
    • 考虑容斥。
  7. 看着选项数字都很小直接枚举即可。


四、其他数学问题

  1. 负数补码=原码-1 再取反。若忘记了可以通过a+(-a)=0推出。

  2. 生动形象的补码图
    image

  3. 主定理:

    • \(\Theta\) 是平均时间复杂度(准确),\(\Omicron\) 是最坏情况下的复杂度(上界),\(\Omega\) 是最好情况下的复杂度(下界)。

    • \(T(n)=aT(\frac{n}{b})+f(n)\)

    • 第一步:算出 \(\log_{b}a\) ,与 \(f(n)\) 中n的幂次作比较

    • 第二步:

      • \(\log_{b}a > f(n)\)的幂次,则 \(T(n)=\Theta(n^{\log_{b}a})\)
      • \(\log_{b}a = f(n)\)的幂次,则 \(T(n)=\Theta(n^{\log_{b}a}\log n)\)
      • \(\log_{b}a < f(n)\)的幂次,则 \(T(n)=\Theta(f(n))\)
    • 好用!

  4. pascal公式:\(C_n^m=C_{n-1}^{m-1}+C_{n-1}^{m}\) 理解:第n个数选或者不选两种情况。

posted @ 2021-09-18 11:14  尹昱钦  阅读(77)  评论(0编辑  收藏  举报