1.图论
https://zybuluo.com/juruo/note/1535384#2dfs%E5%B0%8F%E8%A7%84%E6%A8%A1%E4%B8%87%E8%83%BD%E6%9A%B4%E5%8A%9B%E7%AE%97%E6%B3%95
2.前向星
https://www.cnblogs.com/lcez56jsy/p/10764475.html
https://www.cnblogs.com/fzl194/p/8729203.html
3.高精减
https://www.luogu.org/blog/stonejuice/gao-jing-du-jian-fa-di-op-xie-fa
4.fopen
https://blog.csdn.net/libing403/article/details/73136244
fclose
https://blog.csdn.net/libing403/article/details/73138113
5.模拟退火
https://mp.weixin.qq.com/s?src=11×tamp=1572506997&ver=1945&signature=TXGE*9fvBLBRX7DekuWSgLh3WuF7XW7deLxriKVjS5sfjASBUg5V3Z6Isw04yQi9Gyum1ka4VPuWPLMMSjmqHHxFlw62WpBnLT8uQLvia7R8kFCYlYLyMQYNyDiCx2y5&new=1
6.分治
https://wenku.baidu.com/view/28df763de45c3b3566ec8b2d.html
7.c标准库(菜鸟教程)
https://www.runoob.com/cprogramming/c-standard-library-stdio-h.html
8.set
https://www.cnblogs.com/caiyishuai/p/8646345.html
9.
10.传引用 穿的是变量,且该变量可以被改变
传值的话,该值不可被改变
11.->
这个主要是利用指针指向结构体或者共用体之中变量的标志, 如:
struct { int a; char b; }student; int *p; p->a;//这里的意思就是指针p指向结构体中的变量a
12.除非乘法的中间结果用long long存不下,否则一般都不需要用快速乘
13.
在Dijkstra算法中,d[i]越小,应该越先出队,因此需要使用自定义比较器。在STL中, 可以用greater<int>表示“大于”运算符,因此可以用priority_queue<int, vector<int>, greater<int> >q来声明一个小整数先出队的优先队列。然而,除了需要最小的d值之外,还要找到这个最 小值对应的结点编号,所以需要把d值和编号“捆绑”成一个整体放到优先队列中,使得取出 最小d值的同时也会取出对应的结点编号。
STL中的pair便是专门把两个类型捆绑到一起的。为了方便起见,用typedef pair<int,int> pii自定义一个pii类型,则priority_queue<pii, vector<pii>, greater<pii> > q就定义了一个由二元 组构成的优先队列。pair定义了它自己的排序规则——先比较第一维,相等时才比较第二 维,因此需要按(d[i],i)而不是(i,d[i])的方式组合。
14.*1LL是为了在计算时,把int类型的变量转化为long long,然后再赋值给long long类型的变量
15.
void modify(lld *t,int i,lld x){ while(x<=n){ t[i]+=x; i+=lowbit(i); } }
c语言里数组的实质就是个头指针
规定了类型的指针可以有这样类似数组的用法(CRK)