一些理论知识的汇总
- 算一个字符串本质不同的子串(包含空串)的个数的方法
( 1 + s . s i z e ( ) ) ∗ s . s i z e ( ) 2 − ( 1 + 2 + 3 + . . . + 重 复 字 母 的 个 数 ) + 1 \frac{(1+s.size())*s.size()}{2}-(1+2+3+...+重复字母的个数)+1 2(1+s.size())∗s.size()−(1+2+3+...+重复字母的个数)+1
~~~~
例:
a
b
c
abc
abc
a
b
ab
ab
~~~~
本质不同的子串 (包含空串) 的个数:
~~~~
(
1
+
5
)
∗
5
2
−
(
1
+
2
)
+
1
=
13
\frac{(1+5)*5}{2}-(1+2)+1=13
2(1+5)∗5−(1+2)+1=13
- 在32位操作系统中,
b
o
o
l
bool
bool 型数组
[
1..10000
,
1..10000
]
[1..10000,1..10000]
[1..10000,1..10000] 需要的内存空间约为95MB
b o o l bool bool 型变量占1个字节(8个比特位 b i t bit bit)
- 计算机的中央处理器的组成部件是控制器和运算器以及(一些寄存器)
- C + + C++ C++ 运算符优先级——百度百科
- 计算机内存条就是主存(memory)
- 任何人都可以自愿报名参加
C
S
P
−
J
/
S
CSP-J/S
CSP−J/S;
C S P − J / S CSP-J/S CSP−J/S 是CCF独立主办的认证,和其他机构主办的等级考试无关;
C S P − J / S CSP-J/S CSP−J/S 和NOIP有密切关系;
C S P − J / S CSP-J/S CSP−J/S 认证成绩优异者,可参加NOI省级选拔,省级选拔成绩优异者可参加NOI。
- 算法不一定要在计算机上用某种语言实现!
- C S P CSP CSP 分为 C S P − J CSP-J CSP−J “入门级”和 C S P − S CSP-S CSP−S “提高级”,分两轮进行
- Bill Gates开发的是Windows操作系统;IOS系统是手机平板系统,苹果开发的个人计算机操作系统是Mac OS;Linux是开源的,Windows不是开源的。
- 子集
就是一个集合中的元素全部都是另一个集合中的元素,有可能与另一个集合相等;
真子集就是一个集合中的元素全部都是另一个集合中的元素,但不存在相等;
~~~~~~~~
非空子集就是除空集外的子集;
~~~~~~~~
非空真子集就是除空集外的真子集;
- 根节点深度为 0 0 0,一棵深度为 h 的满 k ( k > 1 ) k(k>1) k(k>1) 叉树,即除最后一层无任何子 节点外,每一层上的所有结点都有 k k k 个子结点的树,共有 k ( h + 1 ) − 1 k − 1 \displaystyle\frac{k^{(h+1)}-1}{k-1} k−1k(h+1)−1 个结点。
- ASCLL码是7位二进制编码
一些算法知识的汇总
- 在含有 n n n 个元素的双向链表中查询是否存在关键字为 K e y Key Key 的元素,最坏情况下运行的查找次数是 n n n 次(有可能双向链表里没有 K e y Key Key )
- 二叉堆是一种特殊的堆,二叉堆是完全二叉树或者是近似完全二叉树。二叉堆有两种:最大堆和最小堆。
最大堆:父结点的值总是大于或等于任何一个子节点的值;
最小堆:父结点的值总是小于或等于任何一个子节点的值。
二叉堆插入时间复杂度为 O ( log 2 n ) O(\log_2n) O(log2n), 删除时间复杂度为 O ( log 2 n ) O(\log_2n) O(log2n)。
- 排序算法的时间复杂度&原理——康康
- 牛客网c++指针详解——好东西