各种小知识2

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&timestamp=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)

原文地址:https://www.cnblogs.com/aprincess/p/11761206.html