zoukankan      html  css  js  c++  java
  • 初赛选择题知识点整理 & 听课笔记

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


    一、计算机基础

    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) o O(nlog^2n)),不稳定
      • O(nlogn)排序:归并(稳定),快速排序堆排序(不稳定),快排最慢 (O(n^2))(当原数组有序时)
    2. 卡特兰数:n个数出栈方案数

    三、排列组合问题

    1. 捆绑法:例如x个元素必须靠在一起。则把这x个元素单独拿出来,方案数为 ((n-x)! imes 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}(nin 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个数选或者不选两种情况。

  • 相关阅读:
    sklearn中决策树算法DesiciontTreeClassifier()调用以及sklearn自带的数据包sklearn.datasets.load_iris()的应用
    python 中feedParser
    Python中解码decode()与编码encode()与错误处理UnicodeDecodeError: 'gbk' codec can't decode byte 0xab
    Python中的排序方法sort(),sorted(),argsort()等
    Python 关于数组矩阵变换函数numpy.nonzero(),numpy.multiply()用法
    Python中where()函数的用法
    矩阵乘法np.dot()及np.multiply()以及*
    Python打开文件open()的注意事项
    给 Chrome浏览器 添加 Javascript小书签,查看当前页面全部加载的javascript文件及代码片段
    pycharm快捷键及中文说明【使用翻译工具一条一条翻译】
  • 原文地址:https://www.cnblogs.com/yinyuqin/p/15307901.html
Copyright © 2011-2022 走看看