前言
CSP-S初赛备考备忘录,放一些重要知识点,随学习进度持续更新。
2021.9.6 Update:加入排列组合常见解题方法
2022.7.29 Update:修复已知错误,为便于区分将正文的字体调红
数制转换
逻辑运算
对于 \color{red}{\text{对于}} 对于 与 \color{red}{\text{与}} 与 和 \color{red}{\text{和}} 和 或的符号分不清楚?有没有发现它和集合的 \color{red}{\text{或的符号分不清楚?有没有发现它和集合的}} 或的符号分不清楚?有没有发现它和集合的 交 \color{red}{\text{交}} 交 和 \color{red}{\text{和}} 和 并 \color{red}{\text{并}} 并 差不多? \color{red}{\text{差不多?}} 差不多?
卡特兰数
二叉树
哈夫曼树和哈夫曼编码
时间复杂度
当算出的时间复杂度在
1
e
8
以下时可以通过,
1
e
8
左右就有风险。
\color{red}{当算出的时间复杂度在1e8以下时可以通过,1e8左右就有风险。}
当算出的时间复杂度在1e8以下时可以通过,1e8左右就有风险。
原码、补码、反码
数据结构基础
数论基础
有点多 … … 而且复赛也会用到,先不放了,一时半会弄不明白 … … \color{red}{\text{有点多……而且复赛也会用到,先不放了,一时半会弄不明白……}} 有点多……而且复赛也会用到,先不放了,一时半会弄不明白……
图论算法基础
组合数学基础
排列组合的常见方法: \color{red}{\text{排列组合的常见方法:}} 排列组合的常见方法:
-
捆绑法:六个人排成一列,要求甲和乙相邻,求排列的方法: \color{red}{\text{捆绑法:六个人排成一列,要求甲和乙相邻,求排列的方法:}} 捆绑法:六个人排成一列,要求甲和乙相邻,求排列的方法:
我们将甲和乙捆绑在一起,看做一个人,则排列的方法有 A 5 5 种,而甲和乙有两种排列方法:甲在前和乙在前,所以总的排列数就是 2 × A 5 5 种。 \color{red}{我们将甲和乙捆绑在一起,看做一个人,则排列的方法有 A_5^5 种,而甲和乙有两种排列方法:甲在前和乙在前,所以总的排列数就是 2 \times A_5^5 种。} 我们将甲和乙捆绑在一起,看做一个人,则排列的方法有A55种,而甲和乙有两种排列方法:甲在前和乙在前,所以总的排列数就是2×A55种。 -
插空法:六个人排成一列,要求甲和乙不相邻,求排列的方法: \color{red}{\text{插空法:六个人排成一列,要求甲和乙不相邻,求排列的方法:}} 插空法:六个人排成一列,要求甲和乙不相邻,求排列的方法:
我们首先将除乙以外的五个人排成一列,有 A 5 5 种排法,这时,我们将乙插入到队列中,五个人的队列算上首尾共有六个间隔,而乙不能插入在甲左右的两个间隔中,所以能够插入的间隔有四个。则总的排列数为 A 5 5 × A 4 1 种。 \color{red}{我们首先将除乙以外的五个人排成一列,有 A_5^5 种排法,这时,我们将乙插入到队列中,五个人的队列算上首尾共有六个间隔,而乙不能插入在甲左右的两个间隔中,所以能够插入的间隔有四个。则总的排列数为 A_5^5 \times A_4^1 种。} 我们首先将除乙以外的五个人排成一列,有A55种排法,这时,我们将乙插入到队列中,五个人的队列算上首尾共有六个间隔,而乙不能插入在甲左右的两个间隔中,所以能够插入的间隔有四个。则总的排列数为A55×A41种。 -
间接法:六个人排成一列,要求甲和乙不相邻,求排列的方法: \color{red}{间接法:六个人排成一列,要求甲和乙不相邻,求排列的方法:} 间接法:六个人排成一列,要求甲和乙不相邻,求排列的方法:
我们先求出没有限制的情况下的总排列数,为 A 6 6 ,可以发现,总的排列数减去甲乙相邻的排列数就等于甲乙不相邻的排列数,即 A 6 6 − 2 × A 5 5 种。 \color{red}{我们先求出没有限制的情况下的总排列数,为 A_6^6,可以发现,总的排列数减去甲乙相邻的排列数就等于甲乙不相邻的排列数,即 A_6^6-2 \times A_5^5 种。} 我们先求出没有限制的情况下的总排列数,为A66,可以发现,总的排列数减去甲乙相邻的排列数就等于甲乙不相邻的排列数,即A66−2×A55种。
计算几何
计算机文化基础
计算机系统原理