Some Notes
Be HardWorking Every Day.
宏定义,将一个指令导向另一个指令。宏定义属于预处理指令,使用规范为:
#define [标识符] [常量]
时间复杂度,就是电脑运行一段程序所需要的时间。
另外,电脑每秒可以运行1e8次。($x$ e $y$代表$x$乘10的$y$次方,即100000000次)
1e8
100000000
时间复杂度记作 $O(n)$。
普通的时间复杂度**(常数时间)**记作 $O(1)$,为一段最简单的程序的时间复杂度。
如以下程序的时间复杂度为 $O(1)$:
#include <stdio.h> using namespace std ; int main() { int n ; return 0 ; }
没错,什么都没有干,只创建了一个变量。
前缀和是一种优化算法,用于求区间和。若数据范围特别大,写 for 循环很可能会爆时间复杂度,就可以用上前缀和了。前缀和有一维前缀和和二维前缀和,我暂时还没有学二位前缀和,故在此不多赘述。
for
一维前缀和需要把一个数组比如数组 $a[1]$ 到 $a[n]$ ($n$ 为 $a$ 数组长度)储存到另一个数组中比如 数组 $b$。那么:
b[i] \ (i \le n) = \displaystyle\sum_{j = 1}^{i} a[j]
在同一个作用域中,不同的数据不能起同一个名字,但是C++命名空间概念的出现,提供了解决问题的方案。在不同的命名空间中,可以随意定义相同的名字。命名空间就是为了避免你包含的头文件中与你自己定义的任意类,数据,函数重名,造成令人迷惑的错误而产生的。
一般来说,我都是懂的。函数的总用比较简单:
总之,函数的存在就是为了更加方便,清晰,快速。