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个数选或者不选两种情况。

  • 相关阅读:
    Vue使用NProgress
    mongodb select php操作 命令行操作
    想成为网络安全技术爱好者(可能是黑客)的话,需要看什么书?
    wmic
    Hyperic-Sigar简介
    MyBitis(iBitis)系列随笔之六:mybitis与spring集成
    MyBitis(iBitis)系列随笔之五:多表(一对多关联查询)
    MyBitis(iBitis)系列随笔之四:多表(多对一查询操作)
    MyBitis(iBitis)系列随笔之三:简单实现CRUD
    MyBitis(iBitis)系列随笔之二:类型别名(typeAliases)与表-对象映射(ORM)
  • 原文地址:https://www.cnblogs.com/yinyuqin/p/15307901.html
Copyright © 2011-2022 走看看